Files
Nomarchy/core/system/virtualization.nix
Bernardo Magri 8828f1fb3c 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.
2026-05-22 18:04:28 +01:00

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
]))
];
}