various updates

This commit is contained in:
2026-06-15 12:58:04 -06:00
parent 9c5c1e158f
commit 76bd5f9f5d
4 changed files with 98 additions and 6 deletions

View File

@@ -44,6 +44,10 @@ FLATPAKS=(
"io.github.anil_e.Codd" "io.github.anil_e.Codd"
"org.gnome.DejaDup" "org.gnome.DejaDup"
"com.rustdesk.RustDesk" "com.rustdesk.RustDesk"
"io.github.tanaybhomia.Whisp"
"org.pipewire.Helvum"
"com.jeffser.Alpaca"
"ai.lmstudio.lm-studio"
) )
for pak in "${FLATPAKS[@]}"; do for pak in "${FLATPAKS[@]}"; do

View File

@@ -24,16 +24,13 @@ SYSTEM_UTILS=(
lazydocker lazydocker
lazygit lazygit
libyaml libyaml
lmstudio-bin
lsd lsd
lsof lsof
man man
mc mc
mtr mtr
neofetch
nerdfetch nerdfetch
net-tools net-tools
net-tools
networkmanager networkmanager
nmap nmap
nss-mdns nss-mdns
@@ -90,7 +87,6 @@ DEV_TOOLS=(
# System maintenance # System maintenance
MAINTENANCE=( MAINTENANCE=(
alpaca-ai
gnome-disk-utility gnome-disk-utility
gnome-extra gnome-extra
gnome-keyring gnome-keyring

View File

@@ -3,10 +3,12 @@
# Pacman / AUR packages to remove (works for both pacman and yay packages) # Pacman / AUR packages to remove (works for both pacman and yay packages)
REMOVE_PACMAN=( REMOVE_PACMAN=(
# none at this time alpaca-ai
lmstudio-bin
neofetch
) )
# Flatpak applications to remove # Flatpak applications to remove
REMOVE_FLATPAKS=( REMOVE_FLATPAKS=(
"com.jeffser.Alpaca" # none at this time
) )

View File

@@ -0,0 +1,90 @@
# Skill: Supporting the updates.d Update Architecture in a Sibling Project
## Overview
CoreDesktop's `coreupdate` script sources every `*.sh` file found in
`~/.local/share/coredesktop/updates.d/` in filename order. A sibling project
hooks into this system by installing a numbered shell script into that directory
during its own install step.
## How It Works
When a user runs `coreupdate`:
1. The coredesktop repo at `~/.local/share/coredesktop` is pulled.
2. All `*.sh` files in `updates.d/` are **sourced** (not executed as subprocesses)
in lexicographic order.
3. Each script runs in the same shell context, with access to `$COREDESKTOP` and
anything sourced before it (e.g. `utils.sh`).
Because the scripts are sourced from within the cloned repo directory, any file
placed there by a sibling project's installer will **survive `git pull`** — git
does not delete untracked files on pull.
## Naming Convention
Existing coredesktop hooks use a numeric prefix to control execution order:
| File | Purpose |
|------------------|---------------------|
| `10-pacman.sh` | Arch system update |
| `20-aur.sh` | AUR packages |
| `30-flatpak.sh` | Flatpak apps |
| `40-ruby.sh` | Ruby/gems |
| `50-bitwarden.sh`| Bitwarden CLI |
| `60-pipx.sh` | pipx packages |
Sibling projects should use **70 or higher** to run after all coredesktop
updates complete.
## What to Add to a Sibling Project
### 1. Create the hook script
Add a file like `updates.d/70-myproject.sh` to the sibling repo:
```bash
#!/bin/bash
echo "Updating MyProject..."
git -C "$HOME/.local/share/myproject" pull
# Optional: use coredesktop helpers if needed
# source "$COREDESKTOP/utils.sh"
# install_packages "${MY_PACKAGES[@]}"
```
### 2. Install the hook during the sibling's install step
In the sibling's `install.sh`, copy the hook into coredesktop's `updates.d/`:
```bash
echo "Registering MyProject update hook..."
cp updates.d/70-myproject.sh ~/.local/share/coredesktop/updates.d/
```
This is a one-time step that wires the sibling into every future `coreupdate`
run on the machine.
## Available Helpers
Since hooks are sourced in the same shell, they can use any function or variable
already defined by earlier scripts. The most useful are in `utils.sh`:
```bash
source "$COREDESKTOP/utils.sh"
# Install pacman packages (skips already-installed ones)
install_packages "${MY_PACMAN_PACKAGES[@]}"
# Remove packages
remove_packages "${MY_REMOVE_PACKAGES[@]}"
```
## Checklist for Sibling Project Authors
- [ ] Create `updates.d/7X-<project>.sh` in the sibling repo
- [ ] Hook script echoes its name so progress is visible during `coreupdate`
- [ ] Install step copies the hook to `~/.local/share/coredesktop/updates.d/`
- [ ] Numeric prefix is 70+ (does not conflict with coredesktop's own hooks)
- [ ] Script is idempotent — safe to run multiple times without side effects