old
 1{
 2  den.aspects.game.utils = {
 3    cacheHome = {config, ...}: {
 4      directories = [
 5        "${config.xdg.userDirs.extraConfig.GAMES}"
 6      ];
 7    };
 8
 9    nixos = {pkgs, ...}: let
10      # Fix DualSense haptics until https://github.com/alsa-project/alsa-ucm-conf/issues/677 been resolved.
11      alsa-ucm-conf-dualsense-haptics = with pkgs;
12        alsa-ucm-conf.overrideAttrs {
13          # https://github.com/alsa-project/alsa-ucm-conf/issues/677#issuecomment-3755019801
14          patches = [
15            ./alsa-ucm-dualsense-haptics.patch
16          ];
17        };
18    in {
19      environment.sessionVariables.ALSA_CONFIG_UCM2 = "${alsa-ucm-conf-dualsense-haptics}/share/alsa/ucm2";
20
21      programs.gamemode = {
22        enable = true;
23      };
24
25      # load ntsync
26      boot.kernelModules = ["ntsync"];
27      # make ntsync device accessible
28      services.udev.packages = [
29        (pkgs.writeTextFile {
30          name = "ntsync-udev-rules";
31          text = ''KERNEL=="ntsync", MODE="0660", TAG+="uaccess"'';
32          destination = "/etc/udev/rules.d/70-ntsync.rules";
33        })
34      ];
35    };
36
37    homeManager = {config, ...}: {
38      xdg.userDirs = {
39        extraConfig = {
40          GAMES = "${config.home.homeDirectory}/Games";
41        };
42      };
43
44      programs.mangohud = {
45        enable = true;
46        settings = {
47          fps = true;
48          frametime = true;
49
50          # Hardware stats
51          cpu_stats = true;
52          cpu_temp = true;
53          cpu_power = true;
54          cpu_mhz = true;
55          gpu_stats = true;
56          gpu_temp = true;
57          gpu_power = true;
58          gpu_core_clock = true;
59          gpu_mem_clock = true;
60          ram = true;
61          vram = true;
62
63          # Keybinds
64          toggle_hud = "Shift_R+F12";
65        };
66      };
67    };
68  };
69}