refactor(system): move programs.uwsm to its own session.nix

The session-manager wiring (uwsm + the Hyprland Wayland-compositor
entry that gives Hyprland a proper graphical-session.target so user
services like nomarchy-wallpaper, walker, and elephant chain off it)
had lived in core/system/virtualization.nix by historical accident —
loaded unconditionally on every install, nothing to do with libvirt
or docker.

Lifted into a dedicated core/system/session.nix and imported from
core/system/default.nix between systemd.nix and virtualization.nix.
virtualization.nix now contains only the libvirt + docker branches
its filename implies.

`nix flake check --no-build` clean. No behaviour change.
This commit is contained in:
Bernardo Magri
2026-05-22 18:04:28 +01:00
parent e7e89b8333
commit 8828f1fb3c
4 changed files with 21 additions and 11 deletions

19
core/system/session.nix Normal file
View File

@@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
# uwsm + Hyprland session manager wiring. Present on every Nomarchy install
# regardless of any optional toggles — Hyprland is launched via uwsm so
# it inherits a proper systemd graphical-session.target (which user services
# like nomarchy-wallpaper, walker, and elephant chain off).
#
# Lived in core/system/virtualization.nix until 2026-05-22 by historical
# accident; the placement had nothing to do with libvirt/docker.
{
programs.uwsm = {
enable = lib.mkDefault true;
waylandCompositors.hyprland = {
binPath = "/run/current-system/sw/bin/Hyprland";
prettyName = "Hyprland";
};
};
}