feat: add steam module
This commit is contained in:
parent
4ba3b8f959
commit
d6ce0a7f61
@ -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 = {
|
||||||
|
53
modules/nixos/applications/steam.nix
Normal file
53
modules/nixos/applications/steam.nix
Normal 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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user