Commit 4703f72

Eric Bower  ·  2026-07-01 21:49:20 -0400 EDT
parent 0017e61
feat(pacm): script to manage pacman deps
2 files changed,  +136, -0
+40, -0
 1@@ -0,0 +1,40 @@
 2+#!/usr/bin/env bash
 3+set -euo pipefail
 4+
 5+case "${1:-}" in
 6+  list)
 7+    if test -z "${2:-}"; then
 8+      pacman -Qqen
 9+    else
10+      pacman -Qqen > "${2}"
11+    fi
12+    ;;
13+  install)
14+    if test -z "${2:-}"; then
15+      echo "must provide pacman file to install deps" >&2
16+      exit 1
17+    fi
18+    sudo pacman -S --needed - < "$2"
19+    ;;
20+  clean)
21+    if test -z "${2:-}"; then
22+      echo "must provide pacman file to remove deps not in list" >&2
23+      exit 1
24+    fi
25+    sudo pacman -Rsu $(comm -23 <(pacman -Qqn | sort) <(sort "$2"))
26+    ;;
27+  sync)
28+    if test -z "${2:-}"; then
29+      echo "must provide pacman file to remove deps not in list" >&2
30+      exit 1
31+    fi
32+    "$0" clean "$2"
33+    "$0" install "$2"
34+    ;;
35+  *)
36+    echo "usage: pacm [list|install|clean|sync] [pkgfile]" >&2
37+    exit 1
38+    ;;
39+esac
40+
41+# filetype: bash
+96, -0
 1@@ -0,0 +1,96 @@
 2+age
 3+aspell-en
 4+base
 5+base-devel
 6+bat
 7+bats
 8+bemenu
 9+bind
10+bluez
11+bluez-utils
12+cmake
13+difftastic
14+direnv
15+dkms
16+dnsmasq
17+docker
18+docker-buildx
19+docker-compose
20+editorconfig-core-c
21+expect
22+firefox
23+foot
24+fzf
25+gdb
26+git
27+git-delta
28+go
29+golangci-lint
30+gopls
31+htop
32+hunspell-en_us
33+imv
34+intel-ucode
35+isync
36+jellyfin-server
37+jellyfin-web
38+jq
39+jujutsu
40+keychain
41+kubectl
42+linux
43+linux-firmware
44+lldb
45+llvm
46+man-db
47+mdadm
48+moreutils
49+mpv
50+msmtp
51+ncdu
52+nfs-utils
53+nmap
54+nodejs
55+noto-fonts-emoji
56+npm
57+nvidia-open-dkms
58+nvtop
59+obs-studio
60+openbsd-netcat
61+openssh
62+pass
63+pass-otp
64+pavucontrol
65+pipewire-pulse
66+pv
67+python-pip
68+qmk
69+qt6-wayland
70+reflector
71+ripgrep
72+rsync
73+shotcut
74+smartmontools
75+steam
76+sway
77+thunar
78+traceroute
79+ttf-jetbrains-mono-nerd
80+ttf-noto-nerd
81+tumbler
82+typescript-language-server
83+vim
84+viu
85+w3m
86+wayland-protocols
87+wireguard-tools
88+wl-clipboard
89+wlsunset
90+xdg-desktop-portal-wlr
91+xorg-xwayland
92+zfs-linux
93+zfs-linux-headers
94+zfs-utils
95+zfs-utils-debug
96+zig
97+zls