{ config, lib, pkgs, ... }: let libvirt = config.nomarchy.system.virtualization.libvirt.enable; docker = config.nomarchy.system.virtualization.docker.enable; in { # uwsm + Hyprland session — present on every Nomarchy install regardless # of the optional libvirt branch below. programs.uwsm = { enable = lib.mkDefault true; waylandCompositors.hyprland = { binPath = "/run/current-system/sw/bin/Hyprland"; prettyName = "Hyprland"; }; }; # 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; environment.systemPackages = lib.mkIf libvirt (with pkgs; [ virt-manager qemu OVMF ]); # Optional: Docker + docker-compose. virtualisation.docker.enable = lib.mkIf docker true; environment.systemPackages = lib.mkIf docker (with pkgs; [ docker-compose ]); }