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
commita93494aa2aa48583142594cfe6c005851046f16b (patch)
treec89cbc8897944b7c266e2ea3d849f0dd22573591 /justfile
parent9a4cef8de726574b11f2bf56ddc27430a4f5e941 (diff)
downloaddotfiles-a93494aa2aa48583142594cfe6c005851046f16b.tar.gz
dotfiles-a93494aa2aa48583142594cfe6c005851046f16b.tar.bz2
dotfiles-a93494aa2aa48583142594cfe6c005851046f16b.zip
refactor: replace meta/ PKGBUILDs with plain text package lists
- Convert 16 PKGBUILD metapackages to simple .txt files (one package per line) - Delete all PKGBUILD, .SRCINFO, and .pkg.tar.zst binary artifacts - Clean stale packages: lf→yazi, tmux→zellij, neofetch→fastfetch, stow→chezmoi - Remove duplicate rustup in dev, duplicate mesa in intel - Add justfile recipes: install, install-all, status (unified drift detection) - Configure chezmoi to exclude scripts from status/diff output - Update copilot instructions
Diffstat (limited to 'justfile')
-rw-r--r--justfile27
1 files changed, 27 insertions, 0 deletions
diff --git a/justfile b/justfile
index b1b77b6..c14a8fc 100644
--- a/justfile
+++ b/justfile
@@ -5,3 +5,30 @@ install-hooks:
# Deploy dotfiles
apply:
chezmoi apply
+
+# Install packages from one or more groups (e.g. just install base dev wayland)
+install *groups:
+ #!/bin/sh
+ for group in {{ groups }}; do
+ grep -v '^\s*#' "meta/${group}.txt" | grep -v '^\s*$' | paru -S --needed -
+ done
+
+# Install all package groups
+install-all:
+ #!/bin/sh
+ cat meta/*.txt | grep -v '^\s*#' | grep -v '^\s*$' | sort -u | paru -S --needed -
+
+# Show package and dotfile drift
+status:
+ #!/bin/sh
+ echo "=== Package drift ==="
+ declared=$(cat meta/*.txt | grep -v '^\s*#' | grep -v '^\s*$' | sort -u)
+ echo "$declared" | while read -r pkg; do
+ pacman -Qi "$pkg" >/dev/null 2>&1 || echo " missing: $pkg"
+ done
+ pacman -Qqe | while read -r pkg; do
+ echo "$declared" | grep -qxF "$pkg" || echo " undeclared: $pkg"
+ done
+ echo ""
+ echo "=== Dotfile drift ==="
+ chezmoi status || true