Files

45 lines
1.5 KiB
Nix

# VM self-test overrides — used with nixos-rebuild build-vm to try the system
# in a VM without rebuilding/rebooting the host.
{ config, lib, pkgs, ... }:
{
virtualisation.vmVariant = {
config = {
hardware.nvidia-container-toolkit.enable = lib.mkForce false;
hardware.nvidia.package = lib.mkForce null;
services.xserver.videoDrivers = lib.mkForce [ "modesetting" ];
virtualisation = {
memorySize = 4096;
cores = 3;
graphics = true;
qemu.options = [
"-device virtio-vga-gl"
"-display gtk,gl=on"
];
};
users.users.olivier = {
initialPassword = lib.mkForce "";
hashedPasswordFile = lib.mkForce null; # Disable the secret file dependency
};
# Force greetd's `initial_session` directly. We can't rely on
# `services.displayManager.autoLogin` because DankGreeter's flake module
# (inputs.dms.nixosModules.greeter) aggressively overwrites
# `services.greetd.settings`, clobbering whatever the displayManager
# module injects for auto-login. mkForce on `initial_session` alone wins
# against DMS without touching `default_session` (DankGreeter), so a
# manual logout in the VM still shows DankGreeter. VM-only — host build
# is unaffected because this whole block lives under vmVariant.
services.greetd.settings.initial_session = lib.mkForce {
command = "${pkgs.niri}/bin/niri-session";
user = "olivier";
};
environment.systemPackages = [ pkgs.grc ];
};
};
}