From cffffeb678e9a1078eeba0f19c9607cda9f31bed Mon Sep 17 00:00:00 2001 From: seth Date: Wed, 7 Feb 2024 18:03:24 -0500 Subject: modules/nixos+darwin: move to traits + archetypes model --- modules/nixos/traits/nvk/default.nix | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 modules/nixos/traits/nvk/default.nix (limited to 'modules/nixos/traits/nvk/default.nix') diff --git a/modules/nixos/traits/nvk/default.nix b/modules/nixos/traits/nvk/default.nix new file mode 100644 index 0000000..8e849ce --- /dev/null +++ b/modules/nixos/traits/nvk/default.nix @@ -0,0 +1,43 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.traits.nvk; + mesa = import ./mesa.nix pkgs; + mesa32 = import ./mesa.nix pkgs.pkgsi686Linux; +in { + options.traits.nvk = { + enable = lib.mkEnableOption "nvk drivers"; + }; + + config = lib.mkIf cfg.enable { + # make sure we're loading new gsp firmware + boot.kernelParams = [ + "nouveau.config=NvGspRm=1" + "nouveau.debug=info,VBIOS=info,gsp=debug" + ]; + + environment.sessionVariables = { + # (fake) advertise vk 1.3 + MESA_VK_VERSION_OVERRIDE = "1.3"; + }; + + hardware.opengl = { + package = mesa.drivers; + package32 = mesa32.drivers; + }; + + system.replaceRuntimeDependencies = [ + { + original = pkgs.mesa.out; + replacement = mesa.out; + } + { + original = pkgs.pkgsi686Linux.mesa.out; + replacement = mesa32.out; + } + ]; + }; +} -- cgit v1.2.3