From b838e9ca78dfea769d0a4eaa8d74d1c2e2f615bc Mon Sep 17 00:00:00 2001 From: js0ny Date: Mon, 10 Nov 2025 15:37:49 +0000 Subject: [PATCH] feat(vfio): try vfio setup on zephyrus --- nixcfgs/hosts/zephyrus/default.nix | 2 +- .../modules/nixos/hardware/nvidia-vfio.nix | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 nixcfgs/modules/nixos/hardware/nvidia-vfio.nix diff --git a/nixcfgs/hosts/zephyrus/default.nix b/nixcfgs/hosts/zephyrus/default.nix index 2322ca7..5f6923f 100644 --- a/nixcfgs/hosts/zephyrus/default.nix +++ b/nixcfgs/hosts/zephyrus/default.nix @@ -14,7 +14,7 @@ ../../modules/nixos/desktop/laptop.nix # hardware drivers - ../../modules/nixos/hardware/nvidia.nix + ../../modules/nixos/hardware/nvidia-vfio.nix # udev rules ../../modules/nixos/hardware/udev/basys3.nix diff --git a/nixcfgs/modules/nixos/hardware/nvidia-vfio.nix b/nixcfgs/modules/nixos/hardware/nvidia-vfio.nix new file mode 100644 index 0000000..397601c --- /dev/null +++ b/nixcfgs/modules/nixos/hardware/nvidia-vfio.nix @@ -0,0 +1,24 @@ +# This is highly experimental and WIP. Do not use it. +{...}: { + boot.extraModprobeConfig = '' + blacklist nouveau + options nouveau modeset=0 + ''; + + services.xserver.videoDrivers = ["modesetting"]; + boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidia_drm" "nvidia_modeset"]; + hardware.nvidia = { + # enable = false; + modesetting.enable = false; + powerManagement.enable = false; + }; + # Enable ssh to solve issues temporarily + services.openssh = { + enable = true; + settings = { + UseDns = true; + PermitRootLogin = "no"; + PasswordAuthentication = true; + }; + }; +}