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.
27 lines
717 B
Nix
27 lines
717 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
libvirt = config.nomarchy.system.virtualization.libvirt.enable;
|
|
docker = config.nomarchy.system.virtualization.docker.enable;
|
|
in
|
|
{
|
|
# Optional: libvirt + virt-manager + OVMF. Toggle with
|
|
# `nomarchy.system.virtualization.libvirt.enable = true;`. The user must
|
|
# be in the `libvirtd` group to drive virsh / virt-manager.
|
|
virtualisation.libvirtd.enable = lib.mkIf libvirt true;
|
|
|
|
# Optional: Docker + docker-compose.
|
|
virtualisation.docker.enable = lib.mkIf docker true;
|
|
|
|
environment.systemPackages = lib.mkMerge [
|
|
(lib.mkIf libvirt (with pkgs; [
|
|
virt-manager
|
|
qemu
|
|
OVMF
|
|
]))
|
|
(lib.mkIf docker (with pkgs; [
|
|
docker-compose
|
|
]))
|
|
];
|
|
}
|