feat: add steam module

This commit is contained in:
Dmitriy Kholkin 2025-06-07 21:10:46 +03:00
parent 4ba3b8f959
commit d6ce0a7f61
Signed by: AtaraxiaDev
GPG Key ID: FD266B810DF48DF2
3 changed files with 55 additions and 11 deletions

View File

@ -113,6 +113,7 @@ in
persist.state.directories = [ persist.state.directories = [
".config/sops/age" ".config/sops/age"
".config/WarThunder"
"nixos-config" "nixos-config"
"projects" "projects"
]; ];
@ -126,6 +127,7 @@ in
wal_init_zero = "off"; wal_init_zero = "off";
wal_recycle = "off"; wal_recycle = "off";
}; };
ataraxia.programs.steam.enable = true;
ataraxia.vpn.sing-box.enable = true; ataraxia.vpn.sing-box.enable = true;
ataraxia.vpn.sing-box.config = "ataraxia-singbox"; ataraxia.vpn.sing-box.config = "ataraxia-singbox";
services.tailscale = { services.tailscale = {

View File

@ -0,0 +1,53 @@
{
config,
lib,
pkgs,
options,
...
}:
let
inherit (builtins) hasAttr;
inherit (lib) mkEnableOption mkIf;
cfg = config.ataraxia.programs.steam;
defaultUser = config.ataraxia.defaults.users.defaultUser;
in
{
options.ataraxia.programs.steam = {
enable = mkEnableOption "Enable steam";
};
config = mkIf cfg.enable {
programs.gamescope.enable = true;
programs.gamescope.capSysNice = false;
services.ananicy = {
enable = true;
package = pkgs.ananicy-cpp;
rulesProvider = pkgs.ananicy-cpp;
extraRules = [
{
"name" = "gamescope";
"nice" = -20;
}
];
};
programs.steam.enable = true;
programs.steam.extraCompatPackages = with pkgs; [
proton-ge-bin
];
programs.steam.gamescopeSession.enable = true;
programs.steam.gamescopeSession.env = {
MANGOHUD = "1";
CONNECTOR = "*,DP-3";
};
programs.steam.gamescopeSession.args = [ "--adaptive-sync" ];
home-manager = mkIf (hasAttr "home-manager" options) {
users.${defaultUser} = {
startupApplications = [ "${config.programs.steam.package}/bin/steam" ];
persist.state.directories = [ ".local/share/Steam" ];
};
};
};
}

View File

@ -31,17 +31,6 @@ in
# yt-archivist = prev.callPackage ./packages/yt-archivist { }; # yt-archivist = prev.callPackage ./packages/yt-archivist { };
yt-dlp = unstable.yt-dlp; yt-dlp = unstable.yt-dlp;
sing-box = unstable.sing-box; sing-box = unstable.sing-box;
steam = prev.steam.override {
extraPkgs =
pkgs:
builtins.attrValues {
inherit (pkgs)
mono
libkrb5
keyutils
;
};
};
wine = prev.wineWow64Packages.stagingFull; wine = prev.wineWow64Packages.stagingFull;
# Move modprobed config to subdir. Easier to use with impermanence # Move modprobed config to subdir. Easier to use with impermanence