tangled
alpha
login
or
join now
encode42.dev
/
nixos
0
fork
atom
Personal-use NixOS configuration
0
fork
atom
overview
issues
pulls
pipelines
Implement GameMode
encode42.dev
3 months ago
6966831a
8812e443
+33
-1
5 changed files
expand all
collapse all
unified
split
hardware
gpu
amd.nix
nvidia.nix
hosts
encryption
default.nix
prospect
default.nix
modules
desktop
system
gamemode.nix
+2
hardware/gpu/amd.nix
···
33
33
];
34
34
35
35
services.immich.settings.ffmpeg.accel = "vaapi";
36
36
+
37
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
20
-
open = false; # Currently unable to build
20
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
36
+
37
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
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
22
+
(flakeRoot + /modules/desktop)
22
23
(flakeRoot + /modules/desktop/environments/gnome.nix)
24
24
+
(flakeRoot + /modules/desktop/system/gamemode.nix)
23
25
24
26
./users
25
27
];
+25
modules/desktop/system/gamemode.nix
···
1
1
+
{
2
2
+
config,
3
3
+
lib,
4
4
+
isLaptop,
5
5
+
...
6
6
+
}:
7
7
+
8
8
+
let
9
9
+
normalUsers = lib.attrValues (
10
10
+
lib.filterAttrs (_: user: user.isSystemUser == false) config.users.users
11
11
+
);
12
12
+
in
13
13
+
{
14
14
+
programs.gamemode = {
15
15
+
enable = true;
16
16
+
17
17
+
settings = {
18
18
+
general.renice = 10;
19
19
+
20
20
+
gpu.apply_gpu_optimizations = lib.mkIf isLaptop "accept-responsibility";
21
21
+
};
22
22
+
};
23
23
+
24
24
+
users.groups.gamemode.members = map (user: user.name) normalUsers;
25
25
+
}