diff options
Diffstat (limited to 'modules/nvidia.nix')
| -rw-r--r-- | modules/nvidia.nix | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/modules/nvidia.nix b/modules/nvidia.nix index ba71df9..e8db8b7 100644 --- a/modules/nvidia.nix +++ b/modules/nvidia.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ config, pkgs, lib, inputs, ... }: let nvidia-offload = pkgs.writeShellScriptBin "prime-run" '' export __NV_PRIME_RENDER_OFFLOAD=1 @@ -9,19 +9,25 @@ exec "$@" ''; in { - nixpkgs.config.allowUnfree = true; - hardware.graphics.enable = true; - hardware.nvidia.modesetting.enable = true; - hardware.nvidia.open = true; - hardware.nvidia.prime = { - offload.enable = true; - - nvidiaBusId = "PCI:1:0:0"; - intelBusId = "PCI:5:0:0"; + options.teh-nix.nvidia = with lib; { + enable = mkEnableOption "Enable nvidia"; }; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - services.xserver.videoDrivers = [ "nvidia" ]; + config = lib.mkIf config.teh-nix.nvidia.enable { + nixpkgs.config.allowUnfree = true; + hardware.graphics.enable = true; + hardware.nvidia.modesetting.enable = true; + hardware.nvidia.open = true; + hardware.nvidia.prime = { + offload.enable = true; + + nvidiaBusId = "PCI:1:0:0"; + intelBusId = "PCI:5:0:0"; + }; + hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - environment.systemPackages = [ nvidia-offload ]; + services.xserver.videoDrivers = [ "nvidia" ]; + + environment.systemPackages = [ nvidia-offload ]; + }; } |
