aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/justfile
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:21 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:21 +0100
commit24a970ca1d545add242a5649c5a7551f942a3e5c (patch)
treea8dfb3f5c7e621f524873bbcbe89acb7f9755479 /justfile
parent702ed1ca34caaa529337516e973f188b8a0d8c81 (diff)
downloaddotfiles-24a970ca1d545add242a5649c5a7551f942a3e5c.tar.gz
dotfiles-24a970ca1d545add242a5649c5a7551f942a3e5c.tar.bz2
dotfiles-24a970ca1d545add242a5649c5a7551f942a3e5c.zip
feat: add 'just fix' to top up partially-installed meta groups
For each group with at least one package installed, install the rest via paru --needed. Never-installed groups (✗) stay untouched.
Diffstat (limited to 'justfile')
-rw-r--r--justfile15
1 files changed, 15 insertions, 0 deletions
diff --git a/justfile b/justfile
index ebb883b..6d67849 100644
--- a/justfile
+++ b/justfile
@@ -18,6 +18,21 @@ install-all:
#!/bin/sh
cat meta/*.txt | grep -v '^\s*#' | grep -v '^\s*$' | sort -u | paru -S --needed -
+# Fill in missing packages for groups that are already partially/fully installed
+fix:
+ #!/bin/sh
+ for file in meta/*.txt; do
+ group=$(basename "$file" .txt)
+ pkgs=$(grep -v '^\s*#' "$file" | grep -v '^\s*$')
+ for pkg in $pkgs; do
+ if pacman -Qi "$pkg" >/dev/null 2>&1; then
+ echo ">>> topping up $group"
+ echo "$pkgs" | paru -S --needed -
+ break
+ fi
+ done
+ done
+
# Add a package to a group and install it (e.g. just add dev ripgrep)
add group pkg:
#!/bin/sh