diff options
| author | 2026-04-21 01:23:28 +0100 | |
|---|---|---|
| committer | 2026-04-21 01:23:28 +0100 | |
| commit | 098fd7b994bb1c9953de0e303ca9fa5d07916579 (patch) | |
| tree | eaf1a05cd85dca91daeff269ab126b064278904f /justfile | |
| parent | 4a6334063f59a78170bc1d45ca7e92b4aaddd359 (diff) | |
| download | dotfiles-098fd7b994bb1c9953de0e303ca9fa5d07916579.tar.gz dotfiles-098fd7b994bb1c9953de0e303ca9fa5d07916579.tar.bz2 dotfiles-098fd7b994bb1c9953de0e303ca9fa5d07916579.zip | |
feat: add 'just remove' to drop packages from a group and uninstall
Diffstat (limited to 'justfile')
| -rw-r--r-- | justfile | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -157,6 +157,26 @@ add group +pkgs: paru -S --needed {{ pkgs }} +# Remove one or more packages from a group list and uninstall them (e.g. just remove dev ripgrep fd) +remove group +pkgs: + #!/bin/sh + set -eu + file="meta/{{ group }}.txt" + if [ ! -f "$file" ]; then + echo "error: $file does not exist" >&2 + exit 1 + fi + for pkg in {{ pkgs }}; do + if grep -qxF "$pkg" "$file"; then + sed -i "/^$(printf '%s' "$pkg" | sed 's/[]\/$*.^[]/\\&/g')\$/d" "$file" + echo "removed $pkg from {{ group }}.txt" + else + echo "$pkg not in {{ group }}.txt" + fi + done + paru -Rsn {{ pkgs }} + + # ═══════════════════════════════════════════════════════════════════ # Hidden helpers (run indirectly via the recipes above) # ═══════════════════════════════════════════════════════════════════ |
