82 lines
1.9 KiB
Nix
82 lines
1.9 KiB
Nix
defaultSession: {
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
self,
|
|
...
|
|
}: {
|
|
config = let
|
|
inherit (config.vars) mainUser;
|
|
|
|
cfg = config.programs.steam;
|
|
in {
|
|
# Normal Steam Stuff
|
|
programs.steam = {
|
|
enable = true;
|
|
protontricks.enable = true;
|
|
|
|
remotePlay.openFirewall = true;
|
|
extraCompatPackages = [
|
|
self.packages.${pkgs.system}.proton-ge-latest
|
|
];
|
|
};
|
|
|
|
# Jovian Steam settings
|
|
jovian.steam = {
|
|
# Steam > Settings > System > Enable Developer Mode
|
|
# Steam > Developer > CEF Remote Debugging
|
|
enable = true;
|
|
user = mainUser;
|
|
|
|
environment = {
|
|
STEAM_EXTRA_COMPAT_TOOLS_PATHS =
|
|
lib.makeSearchPathOutput
|
|
"steamcompattool"
|
|
""
|
|
cfg.extraCompatPackages;
|
|
};
|
|
|
|
desktopSession = defaultSession;
|
|
};
|
|
|
|
# Decky settings
|
|
jovian.decky-loader = {
|
|
enable = true;
|
|
user = mainUser;
|
|
stateDir = "/home/${mainUser}/.local/share/decky"; # Keep scoped to user
|
|
# https://github.com/Jovian-Experiments/Jovian-NixOS/blob/1171169117f63f1de9ef2ea36efd8dcf377c6d5a/modules/decky-loader.nix#L80-L84
|
|
|
|
extraPackages = builtins.attrValues {
|
|
inherit
|
|
(pkgs)
|
|
curl
|
|
unzip
|
|
util-linux
|
|
gnugrep
|
|
readline
|
|
procps
|
|
pciutils
|
|
libpulseaudio
|
|
;
|
|
};
|
|
};
|
|
|
|
# Takes way too long to shutdown
|
|
systemd.services."decky-loader".serviceConfig.TimeoutStopSec = "5";
|
|
|
|
# Misc Packages
|
|
environment.systemPackages = [
|
|
pkgs.steam-rom-manager
|
|
pkgs.r2modman
|
|
self.packages.${pkgs.system}.protonhax
|
|
|
|
# FIXME: Ryujinx ACNH crashes on OpenGL AND Vulkan
|
|
# https://github.com/Ryujinx/Ryujinx/issues/6993
|
|
# https://github.com/Ryujinx/Ryujinx/issues/6708
|
|
self.packages.${pkgs.system}.yuzu
|
|
];
|
|
};
|
|
|
|
# For accurate stack trace
|
|
_file = ./steam.nix;
|
|
}
|