From 52d35e019d94608bd021a291881812df43021b41 Mon Sep 17 00:00:00 2001 From: DashieTM Date: Wed, 8 May 2024 17:19:40 +0200 Subject: [PATCH] gamemode: Add configuration for gpu card --- nix/base/base_packages.nix | 3 --- nix/hardware/marmo/configuration.nix | 7 ++++++- nix/hardware/spaceship/configuration.nix | 7 +++++++ nix/modules/gamemode.nix | 11 +++++++++++ nix/programs/gaming/default.nix | 3 ++- 5 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 nix/modules/gamemode.nix diff --git a/nix/base/base_packages.nix b/nix/base/base_packages.nix index d9899df..502e6de 100644 --- a/nix/base/base_packages.nix +++ b/nix/base/base_packages.nix @@ -76,7 +76,4 @@ }; programs.ssh.startAgent = true; - virtualisation.virtualbox.host.enable = true; - users.extraGroups.vboxusers.members = [ "dashie" ]; - virtualisation.virtualbox.guest.enable = true; } diff --git a/nix/hardware/marmo/configuration.nix b/nix/hardware/marmo/configuration.nix index 735ca77..e7188c9 100644 --- a/nix/hardware/marmo/configuration.nix +++ b/nix/hardware/marmo/configuration.nix @@ -1,9 +1,14 @@ { pkgs, ... }: { + imports = [ + ../../modules/gamemode.nix + ]; boot.kernelPackages = pkgs.linuxPackages_zen; boot.kernelParams = [ "amdgpu.ppfeaturemask=0xffffffff" ]; networking.hostName = "marmo"; - + programs.gamemode = { + device = 1; + }; } diff --git a/nix/hardware/spaceship/configuration.nix b/nix/hardware/spaceship/configuration.nix index c99eed4..6a5f078 100644 --- a/nix/hardware/spaceship/configuration.nix +++ b/nix/hardware/spaceship/configuration.nix @@ -6,7 +6,14 @@ ]; networking.hostName = "spaceship"; + programs.gamemode = { + device = 0; + }; environment.systemPackages = with pkgs; [ linuxKernel.packages.linux_zen.virtualbox ]; + + virtualisation.virtualbox.host.enable = true; + users.extraGroups.vboxusers.members = [ "dashie" ]; + virtualisation.virtualbox.guest.enable = true; } diff --git a/nix/modules/gamemode.nix b/nix/modules/gamemode.nix new file mode 100644 index 0000000..220dcef --- /dev/null +++ b/nix/modules/gamemode.nix @@ -0,0 +1,11 @@ +{ lib, ... }: { + options.programs.gamemode = { + device = lib.mkOption { + default = 0; + example = 0; + description = '' + GPU device number + ''; + }; + }; +} diff --git a/nix/programs/gaming/default.nix b/nix/programs/gaming/default.nix index 60f705c..0e0d07b 100644 --- a/nix/programs/gaming/default.nix +++ b/nix/programs/gaming/default.nix @@ -1,4 +1,5 @@ { pkgs +, config , ... }: { imports = [ @@ -24,7 +25,7 @@ }; gpu = { apply_gpu_optimisations = "accept-responsibility"; - gpu_device = 0; + gpu_device = config.programs.gamemode.device; amd_performance_level = "high"; }; custom = {