small module improvements + sunshine module
This commit is contained in:
parent
543c890c9e
commit
d983b9ad92
3 changed files with 49 additions and 23 deletions
|
@ -54,8 +54,8 @@
|
||||||
../../programs/media/jellyfin.nix
|
../../programs/media/jellyfin.nix
|
||||||
# gaming
|
# gaming
|
||||||
../../programs/games
|
../../programs/games
|
||||||
../../programs/games/roblox.nix
|
# ../../programs/games/roblox.nix
|
||||||
../../programs/games/krunker.nix
|
# ../../programs/games/krunker.nix
|
||||||
#../../programs/games/ludusavi.nix
|
#../../programs/games/ludusavi.nix
|
||||||
|
|
||||||
# media services
|
# media services
|
||||||
|
@ -64,29 +64,34 @@
|
||||||
../../services/system/polkit-agent.nix
|
../../services/system/polkit-agent.nix
|
||||||
../../services/system/udiskie.nix # although i dont need this for usb memory, it is quite convenient for flashing qmk
|
../../services/system/udiskie.nix # although i dont need this for usb memory, it is quite convenient for flashing qmk
|
||||||
];
|
];
|
||||||
xun = {
|
xun = let
|
||||||
|
enabled = {enable = true;};
|
||||||
|
in {
|
||||||
small-nvim = {
|
small-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colorscheme = {
|
colorscheme = {
|
||||||
name = "carbonfox";
|
name = "carbonfox";
|
||||||
package = "EdenEast/nightfox.nvim";
|
package = "EdenEast/nightfox.nvim";
|
||||||
};
|
};
|
||||||
wakatime.enable = true;
|
wakatime = enabled;
|
||||||
};
|
};
|
||||||
desktop.xdg.enable = true;
|
desktop.xdg = enabled;
|
||||||
programs.terminal = {
|
programs.terminal = {
|
||||||
shell.zsh.enable = true;
|
shell.zsh = enabled;
|
||||||
direnv.enable = true;
|
direnv = enabled;
|
||||||
comma.enable = true;
|
comma = enabled;
|
||||||
tmux.enable = true;
|
tmux = enabled;
|
||||||
irssi.enable = true;
|
irssi = enabled;
|
||||||
};
|
};
|
||||||
develop = {
|
develop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
docs.enable = true;
|
docs = enabled;
|
||||||
lsp = {
|
lsp = {
|
||||||
c.enable = true;
|
c = enabled;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
gaming = {
|
||||||
|
roblox.sobercookie = enabled;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,16 @@
|
||||||
imports = [
|
imports = [
|
||||||
self.nixosModules.xun
|
self.nixosModules.xun
|
||||||
];
|
];
|
||||||
xun.gaming = {
|
xun.gaming = let
|
||||||
|
enabled = {enable = true;};
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
steam.enable = true;
|
steam = enabled;
|
||||||
gamescope.enable = true;
|
gamescope = enabled;
|
||||||
gamemode.enable = true;
|
gamemode = enabled;
|
||||||
|
sunshine = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,21 +6,35 @@
|
||||||
}: let
|
}: let
|
||||||
cfg = config.xun.gaming;
|
cfg = config.xun.gaming;
|
||||||
in {
|
in {
|
||||||
options.xun.gaming = {
|
options.xun.gaming = let
|
||||||
|
mkBool = lib.mkOption {type = lib.types.bool;};
|
||||||
|
in {
|
||||||
enable = lib.mkEnableOption "gaming";
|
enable = lib.mkEnableOption "gaming";
|
||||||
steam.enable = lib.mkEnableOption "steam";
|
steam.enable = lib.mkEnableOption "steam";
|
||||||
gamemode.enable = lib.mkEnableOption "gamemode";
|
gamemode.enable = lib.mkEnableOption "gamemode";
|
||||||
gamescope.enable = lib.mkEnableOption "gamescope";
|
gamescope.enable = lib.mkEnableOption "gamescope";
|
||||||
|
sunshine = {
|
||||||
|
enable = lib.mkEnableOption "sunshine";
|
||||||
|
openFirewall = mkBool;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable ({
|
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||||
programs.gamescope = lib.mkIf cfg.gamescope.enable {
|
(lib.mkIf cfg.gamescope.enable {
|
||||||
|
programs.gamescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
capSysNice = false; # doesnt work with steam & heroic
|
capSysNice = false; # doesnt work with steam & heroic
|
||||||
};
|
};
|
||||||
programs.gamemode.enable = cfg.gamemode.enable;
|
})
|
||||||
}
|
(lib.mkIf cfg.sunshine.enable {
|
||||||
// lib.mkIf cfg.steam.enable {
|
services.sunshine = {
|
||||||
|
enable = true;
|
||||||
|
capSysAdmin = true;
|
||||||
|
openFirewall = cfg.sunshine.openFirewall;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.mkIf cfg.gamemode.enable {programs.gamemode.enable = true;})
|
||||||
|
(lib.mkIf cfg.steam.enable {
|
||||||
# TODO: protontricks & steamtinkerlaunch
|
# TODO: protontricks & steamtinkerlaunch
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -43,5 +57,6 @@ in {
|
||||||
keyutils
|
keyutils
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
});
|
})
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue