aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/meta/base.txt
blob: 6ea9439fa85bda026edb5ec723bf18e8db764621 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# --- core ---
# Note: the leaf-CLI tooling (ripgrep, fd, bat, glow, fzf, lsd, jq, yq-go,
# zoxide, just, sd, choose, dog, curlie, hyperfine, htop, fastfetch, tldr,
# rsync, mergiraf, delta, tree-sitter, neovim, zellij, gh, pass + pass-otp,
# openssh, git, gnupg, wget, zsh + plugins + zsh-completions, basedpyright,
# rust-analyzer, etc.) is provisioned via Home-Manager from nix/common.nix
# and lives under ~/.nix-profile/bin (first in PATH). Anything pacman drops
# that's still needed (curl, git, openssh, gnupg) comes back transitively
# via base/base-devel/desktop deps.
acpid
arch-audit
base
base-devel
bash-completion
chezmoi
cpupower
dashbinsh
duf
fwupd
gdu
iwd
kernel-modules-hook
linux-firmware
lostfiles
lshw
man-db
man-pages
nfs-utils
nftables
nmap
ocl-icd
overdue
pacman-cleanup-hook
pacman-contrib
paru
pbzip2
pigz
pkgstats
procs
qrencode
rebuild-detector
reflector
sbctl
smartmontools
sudo-rs
systemd-resolvconf
tlp
torsocks
unzip
wireguard-tools
yazi
zram-generator

# --- bluetooth ---
bluez
bluez-utils
ell

# --- nix (multi-user daemon mode for hermetic per-project dev shells via
# `nix develop` + direnv `use flake`. Not a replacement for paru/pacman,
# not home-manager, not NixOS — just a sandboxed second package manager
# that gives every project a reproducible toolchain pinned in its own
# flake.lock. Pairs with: systemd-units/system.txt (enables
# nix-daemon.socket), etc/nix/nix.conf, dot_config/direnv/direnvrc,
# dot_config/nix/templates/. nix-direnv itself is loaded at runtime via
# direnv's source_url with a content hash, so no extra package needed.) ---
nix

# --- dev ---
android-tools
ccache
clang
cmake
difftastic
direnv
doxygen
gdb
git-absorb
go
jdk21-openjdk
lld
lldb
luarocks
mold
ninja
npm
perf
podman-compose
podman-docker
rustup
samply
sccache
strace
t-rec
uv
valgrind

# --- sound ---
alsa-utils
pipewire
pipewire-alsa
pipewire-jack
pipewire-pulse
playerctl
pulsemixer
# noisetorch  # optional

# --- fonts ---
noto-fonts-emoji
otf-font-awesome
otf-latinmodern-math
ttf-dejavu
ttf-fira-code
ttf-font-awesome
ttf-noto-nerd
woff2-font-awesome

# --- wayland session ---
# Compositor
sway
# Auto-tile daemon: splits new containers along the focused window's
# longest side via sway IPC. Configured in ~/.config/swayr/config.toml
# ([layout].auto_tile = true). Daemon runs as swayrd.service under
# sway-session.target.
swayr
xdg-desktop-portal-wlr
xdg-desktop-portal-gtk
qt5-wayland
qt6-wayland

# Bar & launcher
waybar
fuzzel
# wofi: secondary picker used only by mako-history.sh — needs --hide-search
# and per-key custom bindings, neither of which fuzzel supports.
wofi

# Terminal
ghostty

# Notifications
mako
libnotify
poweralertd

# Lock screen
swaylock
swayidle
# Bridge browsers' org.freedesktop.ScreenSaver inhibits to systemd-inhibit
# so swayidle honors them (e.g. video calls, fullscreen video). Without
# this swayidle would still time out and lock during a Meet call.
inhibridge

# org.freedesktop.secrets D-Bus implementation backed by pass. Required
# by Signal Desktop (flatpak) and other libsecret consumers. Ships both
# a D-Bus activation file and a systemd user unit; we enable the unit
# explicitly so it's visible in `systemctl --user status`. Stores
# secrets under ~/.password-store/secret-service/.
pass-secret-service-bin

# Ships ZSA's upstream udev rules (50-oryx.rules, 50-wally.rules) to
# /usr/lib/udev/rules.d/ so VID 3297 hidraw nodes get TAG+=uaccess.
# Required for VIA / usevia.app (WebHID) and Wally flashing of the
# ErgoDox EZ / Moonlander / Voyager.
zsa-udev

# Clipboard
wl-clipboard
cliphist

# Screenshots & recording
grim
slurp
wf-recorder

# Wayland typing (used by dictate, etc)
wtype

# Emoji picker (AUR; tiny shell script, multi-backend — we drive it through wofi)
bemoji

# Image viewer
imv

# QR
zbar
xorg-xwayland # needed for zbarcam's X11 preview

# Document viewer is the org.pwmt.zathura flatpak (see meta/flatpak.txt) so
# PDFs handed off from the browser/mail sandbox stay sandboxed.

# Misc
brightnessctl
# Volume/brightness OSD overlay (driven by ~/.config/sway/{vol,brightness}-osd.sh
# writing percentages to $XDG_RUNTIME_DIR/wob.sock).
wob
libfido2
perl-file-mimeinfo
qt5ct
qt6ct
xdg-user-dirs
wl-mirror

# --- browser (LibreWolf flatpak; arkenfox-user.js is the host-side
# hardening overlay deployed by run_onchange_after_deploy-firefox.sh.tmpl) ---
arkenfox-user.js

# --- mail (host-side bits the org.mozilla.Thunderbird flatpak depends on) ---
protonmail-bridge-core
# git send-email Perl prereqs (SMTP via local Bridge on 127.0.0.1:1025)
perl-authen-sasl
perl-mime-tools
perl-net-smtp-ssl
# Native messaging host binary for External Editor Revived; bridged into
# the TB flatpak by run_onchange_after_deploy-tb-eer.sh.tmpl.
external-editor-revived

# --- media (native mpv kept for streamlink piping and the /tmp/mpvsocket
# IPC integration; the io.mpv.Mpv flatpak (meta/flatpak.txt) is set as
# the mimeapps default for video/* so files handed off by the
# browser/mail sandbox stay sandboxed) ---
mpv
streamlink
yt-dlp

# --- desktop extras ---
gpg-tui
pandoc-bin
syncthing
udisks2

# Flatpak runtime (apps tracked in meta/flatpak.txt)
flatpak

# Smartcard stack (cartão de cidadão reader + PKCS#11 bridge into flatpak
# browsers). pcscd.socket is enabled by systemd-units/system.txt. pcsclite
# itself is also needed by Home-Manager's gnupg/scdaemon (see nix/host.nix's
# scdaemon.conf — points scdaemon at /usr/lib/libpcsclite.so.1).
pcsclite
ccid

# OCR (used by ~/.local/bin/ocr)
tesseract
tesseract-data-eng
tesseract-data-por

# Speech-to-text (used by ~/.local/bin/dictate)
# `base` multilingual: ~142 MB, ~7-10x realtime on a 4c CPU. Override
# WHISPER_MODEL in the script's environment to use a different ggml model.
whisper.cpp-vulkan
whisper.cpp-model-base
act