Personal-use NixOS configuration

Implement GameMode

+33 -1
+2
hardware/gpu/amd.nix
··· 33 33 ]; 34 34 35 35 services.immich.settings.ffmpeg.accel = "vaapi"; 36 + 37 + programs.gamemode.settings.gpu.amd_performance_level = "high"; 36 38 }
+3 -1
hardware/gpu/nvidia.nix
··· 17 17 ++ lib.optional isLaptop "modesetting"; 18 18 19 19 hardware.nvidia = { 20 - open = false; # Currently unable to build 20 + open = true; 21 21 22 22 modesetting.enable = isLaptop; 23 23 ··· 33 33 ); 34 34 35 35 services.immich.settings.ffmpeg.accel = "nvenc"; 36 + 37 + programs.gamemode.settings.gpu.nv_powermizer_mode = 1; 36 38 }
+1
hosts/encryption/default.nix
··· 22 22 23 23 (flakeRoot + /modules/desktop) 24 24 (flakeRoot + /modules/desktop/environments/gnome.nix) 25 + (flakeRoot + /modules/desktop/system/gamemode.nix) 25 26 26 27 ./users 27 28 ];
+2
hosts/prospect/default.nix
··· 19 19 (flakeRoot + /modules/common) 20 20 (flakeRoot + /modules/common/boot/systemd-boot.nix) 21 21 22 + (flakeRoot + /modules/desktop) 22 23 (flakeRoot + /modules/desktop/environments/gnome.nix) 24 + (flakeRoot + /modules/desktop/system/gamemode.nix) 23 25 24 26 ./users 25 27 ];
+25
modules/desktop/system/gamemode.nix
··· 1 + { 2 + config, 3 + lib, 4 + isLaptop, 5 + ... 6 + }: 7 + 8 + let 9 + normalUsers = lib.attrValues ( 10 + lib.filterAttrs (_: user: user.isSystemUser == false) config.users.users 11 + ); 12 + in 13 + { 14 + programs.gamemode = { 15 + enable = true; 16 + 17 + settings = { 18 + general.renice = 10; 19 + 20 + gpu.apply_gpu_optimizations = lib.mkIf isLaptop "accept-responsibility"; 21 + }; 22 + }; 23 + 24 + users.groups.gamemode.members = map (user: user.name) normalUsers; 25 + }