main
 1{den, ...}: {
 2  den.aspects.desktop.game.includes = [den.aspects.desktop.game.misc];
 3  den.aspects.desktop.game.misc = {
 4    nixos = {pkgs, ...}: {
 5      programs.gamemode.enable = true;
 6
 7      # load ntsync
 8      boot.kernelModules = ["ntsync"];
 9      # make ntsync device accessible
10      services.udev.packages = [
11        (pkgs.writeTextFile {
12          name = "ntsync-udev-rules";
13          text = ''KERNEL=="ntsync", MODE="0660", TAG+="uaccess"'';
14          destination = "/etc/udev/rules.d/70-ntsync.rules";
15        })
16      ];
17    };
18
19    provides.to-users = {
20      includes = [
21        {
22          cacheHome = {config, ...}: {
23            directories = [
24              config.xdg.user-dirs.directories.games
25            ];
26          };
27        }
28      ];
29
30      hjem = {config, ...}: {
31        xdg.user-dirs.directories.games = "${config.directory}/Games";
32      };
33    };
34  };
35}