diff --git a/hosts/puter/default.nix b/hosts/puter/default.nix index 929164b..cb413cc 100644 --- a/hosts/puter/default.nix +++ b/hosts/puter/default.nix @@ -26,7 +26,7 @@ }; tmp.useTmpfs = true; - kernelPackages = pkgs.linuxPackages_xanmod_latest; + kernelPackages = pkgs.unstable.linuxPackages_xanmod_latest; supportedFilesystems = [ "btfs" "vfat" "xfs" ]; initrd = { availableKernelModules = [ "nvme" "xhci_pci" "ahci" diff --git a/modules/nixos/hardware/gpu/nvidia/default.nix b/modules/nixos/hardware/gpu/nvidia/default.nix index 0ca0863..b2b62ac 100644 --- a/modules/nixos/hardware/gpu/nvidia/default.nix +++ b/modules/nixos/hardware/gpu/nvidia/default.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, pkgs, ... }: { imports = [ @@ -19,7 +19,6 @@ boot.kernelParams = [ "nvidia_drm.fbdev=1" - "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ]; services.xserver.videoDrivers = [ "nvidia" ]; diff --git a/modules/nixos/multimedia/games/default.nix b/modules/nixos/multimedia/games/default.nix index 0c3d913..4f6a15f 100644 --- a/modules/nixos/multimedia/games/default.nix +++ b/modules/nixos/multimedia/games/default.nix @@ -1,25 +1,25 @@ { pkgs, username, inputs, ... }: { + imports = [ + ./steam.nix + ]; + + programs.gamescope.enable = true; + programs.gamemode.enable = true; + users.users."${username}".extraGroups = [ "gamemode" ]; + + nix.settings = inputs.aagl.nixConfig; + programs.anime-game-launcher.enable = true; + + environment.systemPackages = with pkgs; [ + unstable.osu-lazer-bin + ]; + environment.persistence."/nix/persist" = { users."${username}".directories = [ - ".local/share/steam_home" ".local/share/osu" ".local/share/an-anime-game-launcher" ]; }; - - environment.systemPackages = with pkgs; [ - protonup-qt - protontricks - unstable.osu-lazer-bin - ]; - - programs.steam = { - enable = true; - gamescopeSession.enable = true; - }; - - nix.settings = inputs.aagl.nixConfig; - programs.anime-game-launcher.enable = true; } diff --git a/modules/nixos/multimedia/games/steam.nix b/modules/nixos/multimedia/games/steam.nix new file mode 100644 index 0000000..2529d29 --- /dev/null +++ b/modules/nixos/multimedia/games/steam.nix @@ -0,0 +1,26 @@ +{ pkgs, username, ... }: + +{ + programs.steam = { + enable = true; + gamescopeSession.enable = true; + }; + + environment.systemPackages = with pkgs; [ + protonup-qt + protontricks + ]; + + # Sometimes a Steam game that runs natively on Linux + # creates a folder somewhere in ~/.local/share or ~/.config + # and in the usual case you would have to persist each game + # folder individually but since we set the nix home to this + # directory instead of the actual home directory, it all gets + # stored in here and by persisting the entire path this becomes + # a none issue. + environment.persistence."/nix/persist" = { + users."${username}".directories = [ + ".local/share/steam_home" + ]; + }; +}