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

49 lines
2.3 KiB
Org Mode

:PROPERTIES:
:ID: 939a9fa3-ddc8-4cc1-8130-771cc5de000f
:END:
#+title: azos/todos
#+filetags: :project: :todo:
Backlink: [[id:bf4dde56-0967-4374-94ed-771301e47c66][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 [[id:c52036a9-25ec-4b8b-8b72-90fcd9ea65dd][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.