2.3 KiB
azos/todos
- Decouple the exwm and station suites in azos-core
- Audit non-azos-core features for portability to azos-core
Backlink: azos
TODO Decouple the exwm and station suites in azos-core
azos-core/features/exwm/default.nix sets azos.suites.station.enable =
lib.mkDefault true; — already overridable at the suite level with a plain
azos.suites.station.enable = false; in a machine config, no mkForce
needed. But features/exwm/emacs/_pkg.nix hardcodes
pkgs.azos-emacs-station in packageRequires, and
features/exwm/emacs/config.org line 8 has an unconditional
(require 'azos-emacs-station) — this forces azos-emacs-station (and its
transitive package deps: mu4e, elfeed, elfeed-tube, pass, scad-mode,
kubernetes, wttrin) to load regardless of the station suite toggle.
Grepped exwm's config.org for use of station-defined symbols
(azos/mail, mu4e, elfeed, wttrin, kubernetes-, azos/pass) and
found none — the require looks vestigial, not load-bearing.
Fix: remove the require line and the packageRequires entry.
Softer coupling to also resolve: exwm's config.org has quick-launch /
window-swallow logic for chromium, qutebrowser, and gimp
(azos/exwm/chromium-p, azos/exwm/start-chromium,
azos/exwm/start-qutebrowser, the gimp instance-name check), but those
binaries are installed by station's browser.nix=/=gimp.nix, not by
exwm. Decide whether to pull those packages into exwm directly or accept
them as dead keybindings when station is off.
Motivation: new Fedora machine will enable the exwm suite but not station. Full architecture notes already saved to azos/exwm.
TODO Audit non-azos-core features for portability to azos-core
Go over everything under /home/aner/azos/features/ (attic, audio,
binfmt, bluetooth, chess, claude, encryption, git-config, hardware-auth,
headphones, hfsprogs, homey-alert, hyprland, kubernetes, lauretta,
leetcode, mail, mpris-proxy, nextcloud, opencode, printing, qutebrowser,
reaper, roam-backup, snx-rs, steam, virtualization, ytdl) and assess which
are generic/reusable enough to port into azos-core/features/ for use by
the new Fedora machine project, versus which are genuinely
lauretta/NixOS-machine-specific and should stay put.