From 2970b9dddc6b89705a6836fa0864fb841925ff6f Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Wed, 13 May 2026 13:43:32 +0100 Subject: refactor(meta): flatten groups; only break out optional/hw-specific Drop the per-domain group fragmentation in meta/ and the parallel group-per-file structure in systemd-units/. meta/ (18 -> 6 groups): keep base, flatpak (magic), intel, nvidia, work, btc fold browser, bt, cpp, dev, extra, fonts, mail, media, nix, sound, wayland -> base (with `# --- section ---` comments preserving at-a-glance structure) drop fortran (niche; install ad-hoc when needed) systemd-units/: flatten to a single system.txt + user.txt; .ignore files move up one level; group concept and pairing rule removed. justfile: unit-list/unit-apply/unit-status no longer take a group argument. unit-add/unit-forget infer scope by probing `systemctl [--user] cat ` (system wins on tie). Top-level add/forget dispatcher updated: any unit-suffixed arg routes to unit-* without requiring a leading GROUP. docs: .github/copilot-instructions.md and README.md updated to describe the new flat layout. Pairing rule and group-token grammar gone. Pure layout refactor - no package contents change. --- systemd-units/system.ignore | 14 ++++++++++++++ systemd-units/system.txt | 30 ++++++++++++++++++++++++++++++ systemd-units/system/.ignore | 14 -------------- systemd-units/system/base.txt | 19 ------------------- systemd-units/system/bt.txt | 4 ---- systemd-units/system/btc.txt | 4 ---- systemd-units/system/nix.txt | 3 --- systemd-units/user.ignore | 13 +++++++++++++ systemd-units/user.txt | 14 ++++++++++++++ systemd-units/user/.ignore | 13 ------------- systemd-units/user/graphical.txt | 9 --------- systemd-units/user/mail.txt | 2 -- 12 files changed, 71 insertions(+), 68 deletions(-) create mode 100644 systemd-units/system.ignore create mode 100644 systemd-units/system.txt delete mode 100644 systemd-units/system/.ignore delete mode 100644 systemd-units/system/base.txt delete mode 100644 systemd-units/system/bt.txt delete mode 100644 systemd-units/system/btc.txt delete mode 100644 systemd-units/system/nix.txt create mode 100644 systemd-units/user.ignore create mode 100644 systemd-units/user.txt delete mode 100644 systemd-units/user/.ignore delete mode 100644 systemd-units/user/graphical.txt delete mode 100644 systemd-units/user/mail.txt (limited to 'systemd-units') diff --git a/systemd-units/system.ignore b/systemd-units/system.ignore new file mode 100644 index 0000000..a3d0af6 --- /dev/null +++ b/systemd-units/system.ignore @@ -0,0 +1,14 @@ +# Systemd units to suppress from `just unit-status` uncurated output. +# Typically distro defaults enabled by systemd presets that are neither +# worth curating nor worth disabling. One unit per line, # comments OK. + +remote-fs.target +systemd-network-generator.service +systemd-networkd.socket +systemd-networkd-resolve-hook.socket +systemd-networkd-varlink.socket +systemd-networkd-varlink-metrics.socket +systemd-oomd.socket +systemd-resolved-monitor.socket +systemd-resolved-varlink.socket +systemd-userdbd.socket diff --git a/systemd-units/system.txt b/systemd-units/system.txt new file mode 100644 index 0000000..5d1d936 --- /dev/null +++ b/systemd-units/system.txt @@ -0,0 +1,30 @@ +# System-scope systemd units to enable. One unit per line, # comments OK. +# Enabled by `just unit-apply` via `sudo systemctl enable`. + +# --- core --- +systemd-timesyncd.service +systemd-resolved.service +systemd-oomd.service +reflector.timer +paccache.timer +acpid.service +cpupower.service +iwd.service +nftables.service +systemd-networkd.service +systemd-networkd-wait-online.service +tlp.service +pcscd.socket +smartd.service +btrfs-scrub@-.timer +fwupd-refresh.timer + +# --- bluetooth --- +bluetooth.service + +# --- btc --- +tor.service + +# --- nix (socket-activated builder daemon; the .service spawns on first +# client connect, the .socket is what gets enabled) --- +nix-daemon.socket diff --git a/systemd-units/system/.ignore b/systemd-units/system/.ignore deleted file mode 100644 index 32f2225..0000000 --- a/systemd-units/system/.ignore +++ /dev/null @@ -1,14 +0,0 @@ -# Systemd units to suppress from 'just services-drift' uncurated output. -# Typically distro defaults enabled by systemd presets that are neither -# worth curating nor worth disabling. One unit per line, # comments OK. - -remote-fs.target -systemd-network-generator.service -systemd-networkd.socket -systemd-networkd-resolve-hook.socket -systemd-networkd-varlink.socket -systemd-networkd-varlink-metrics.socket -systemd-oomd.socket -systemd-resolved-monitor.socket -systemd-resolved-varlink.socket -systemd-userdbd.socket diff --git a/systemd-units/system/base.txt b/systemd-units/system/base.txt deleted file mode 100644 index 1e3af9b..0000000 --- a/systemd-units/system/base.txt +++ /dev/null @@ -1,19 +0,0 @@ -# Systemd units to enable when the 'base' meta group is installed. -# One unit per line, # comments OK. - -systemd-timesyncd.service -systemd-resolved.service -systemd-oomd.service -reflector.timer -paccache.timer -acpid.service -cpupower.service -iwd.service -nftables.service -systemd-networkd.service -systemd-networkd-wait-online.service -tlp.service -pcscd.socket -smartd.service -btrfs-scrub@-.timer -fwupd-refresh.timer diff --git a/systemd-units/system/bt.txt b/systemd-units/system/bt.txt deleted file mode 100644 index 985b8dc..0000000 --- a/systemd-units/system/bt.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Systemd units to enable when the 'bt' meta group is installed. -# One unit per line, # comments OK. - -bluetooth.service diff --git a/systemd-units/system/btc.txt b/systemd-units/system/btc.txt deleted file mode 100644 index b30199c..0000000 --- a/systemd-units/system/btc.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Systemd units to enable when the 'btc' meta group is installed. -# One unit per line, # comments OK. - -tor.service diff --git a/systemd-units/system/nix.txt b/systemd-units/system/nix.txt deleted file mode 100644 index de99aaa..0000000 --- a/systemd-units/system/nix.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Nix builder daemon — socket-activated, idle-friendly. -# The .service spawns on first client connect; the .socket is what gets enabled. -nix-daemon.socket diff --git a/systemd-units/user.ignore b/systemd-units/user.ignore new file mode 100644 index 0000000..9f95ce0 --- /dev/null +++ b/systemd-units/user.ignore @@ -0,0 +1,13 @@ +# Systemd user-scope units to suppress from `just unit-status` uncurated output. +# Typically defaults pulled in by graphical-session / xdg-desktop-portal that +# are neither worth curating nor worth disabling. One unit per line, # comments OK. + +# Socket-activated audio stack (pipewire + wireplumber), pulled in by the +# session; enabled state is set by the distro package, not by us. +pipewire.socket +pipewire-pulse.socket +wireplumber.service + +# Misc default user services we neither enable nor disable. +p11-kit-server.socket +xdg-user-dirs.service diff --git a/systemd-units/user.txt b/systemd-units/user.txt new file mode 100644 index 0000000..37e7e7a --- /dev/null +++ b/systemd-units/user.txt @@ -0,0 +1,14 @@ +# User-scope systemd units to enable. One unit per line, # comments OK. +# Enabled by `just unit-apply` via `systemctl --user enable`. + +# --- sway session (all WantedBy=sway-session.target; sway itself starts +# sway-session.target on login) --- +cliphist-image.service +cliphist-text.service +display-watcher.service +signal.service +swayidle.service +waybar.service + +# --- mail (overridden via drop-ins in dot_config/systemd/user/) --- +protonmail-bridge.service diff --git a/systemd-units/user/.ignore b/systemd-units/user/.ignore deleted file mode 100644 index 9f95ce0..0000000 --- a/systemd-units/user/.ignore +++ /dev/null @@ -1,13 +0,0 @@ -# Systemd user-scope units to suppress from `just unit-status` uncurated output. -# Typically defaults pulled in by graphical-session / xdg-desktop-portal that -# are neither worth curating nor worth disabling. One unit per line, # comments OK. - -# Socket-activated audio stack (pipewire + wireplumber), pulled in by the -# session; enabled state is set by the distro package, not by us. -pipewire.socket -pipewire-pulse.socket -wireplumber.service - -# Misc default user services we neither enable nor disable. -p11-kit-server.socket -xdg-user-dirs.service diff --git a/systemd-units/user/graphical.txt b/systemd-units/user/graphical.txt deleted file mode 100644 index af6cf4f..0000000 --- a/systemd-units/user/graphical.txt +++ /dev/null @@ -1,9 +0,0 @@ -# User units that compose the sway graphical session. -# All are WantedBy=sway-session.target so enabling them wires them into -# the session; sway itself starts sway-session.target on login. -cliphist-image.service -cliphist-text.service -display-watcher.service -signal.service -swayidle.service -waybar.service diff --git a/systemd-units/user/mail.txt b/systemd-units/user/mail.txt deleted file mode 100644 index 1f7804c..0000000 --- a/systemd-units/user/mail.txt +++ /dev/null @@ -1,2 +0,0 @@ -# User services we override via drop-ins in dot_config/systemd/user/. -protonmail-bridge.service -- cgit v1.3.1