Files
roam/azostodos.org
T
2026-10-11 00:08:44 +03:00

2.3 KiB

azos/todos

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.