aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/justfile
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:20 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:20 +0100
commit7e3e04b8f0a61a8a20928202c102c9dab0d1824a (patch)
treed09c93626c454663b07cef7f6f90bff1910cfb50 /justfile
parenta93494aa2aa48583142594cfe6c005851046f16b (diff)
downloaddotfiles-7e3e04b8f0a61a8a20928202c102c9dab0d1824a.tar.gz
dotfiles-7e3e04b8f0a61a8a20928202c102c9dab0d1824a.tar.bz2
dotfiles-7e3e04b8f0a61a8a20928202c102c9dab0d1824a.zip
feat: add 'just add <group> <pkg>' recipe
Appends the package to meta/<group>.txt (if not already present) and installs it via paru --needed. Equivalent to chezmoi add for packages.
Diffstat (limited to 'justfile')
-rw-r--r--justfile17
1 files changed, 17 insertions, 0 deletions
diff --git a/justfile b/justfile
index c14a8fc..fe1cc65 100644
--- a/justfile
+++ b/justfile
@@ -18,6 +18,23 @@ install-all:
#!/bin/sh
cat meta/*.txt | grep -v '^\s*#' | grep -v '^\s*$' | sort -u | paru -S --needed -
+# Add a package to a group and install it (e.g. just add dev ripgrep)
+add group pkg:
+ #!/bin/sh
+ set -eu
+ file="meta/{{ group }}.txt"
+ if [ ! -f "$file" ]; then
+ echo "error: $file does not exist" >&2
+ exit 1
+ fi
+ if grep -qxF '{{ pkg }}' "$file"; then
+ echo "{{ pkg }} already in {{ group }}.txt"
+ else
+ echo '{{ pkg }}' >> "$file"
+ echo "added {{ pkg }} to {{ group }}.txt"
+ fi
+ paru -S --needed '{{ pkg }}'
+
# Show package and dotfile drift
status:
#!/bin/sh