: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.