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
|
||||
# gaming
|
||||
../../programs/games
|
||||
../../programs/games/roblox.nix
|
||||
../../programs/games/krunker.nix
|
||||
# ../../programs/games/roblox.nix
|
||||
# ../../programs/games/krunker.nix
|
||||
#../../programs/games/ludusavi.nix
|
||||
|
||||
# media services
|
||||
|
@ -64,29 +64,34 @@
|
|||
../../services/system/polkit-agent.nix
|
||||
../../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 = {
|
||||
enable = true;
|
||||
colorscheme = {
|
||||
name = "carbonfox";
|
||||
package = "EdenEast/nightfox.nvim";
|
||||
};
|
||||
wakatime.enable = true;
|
||||
wakatime = enabled;
|
||||
};
|
||||
desktop.xdg.enable = true;
|
||||
desktop.xdg = enabled;
|
||||
programs.terminal = {
|
||||
shell.zsh.enable = true;
|
||||
direnv.enable = true;
|
||||
comma.enable = true;
|
||||
tmux.enable = true;
|
||||
irssi.enable = true;
|
||||
shell.zsh = enabled;
|
||||
direnv = enabled;
|
||||
comma = enabled;
|
||||
tmux = enabled;
|
||||
irssi = enabled;
|
||||
};
|
||||
develop = {
|
||||
enable = true;
|
||||
docs.enable = true;
|
||||
docs = enabled;
|
||||
lsp = {
|
||||
c.enable = true;
|
||||
c = enabled;
|
||||
};
|
||||
};
|
||||
gaming = {
|
||||
roblox.sobercookie = enabled;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,10 +2,16 @@
|
|||
imports = [
|
||||
self.nixosModules.xun
|
||||
];
|
||||
xun.gaming = {
|
||||
xun.gaming = let
|
||||
enabled = {enable = true;};
|
||||
in {
|
||||
enable = true;
|
||||
steam.enable = true;
|
||||
gamescope.enable = true;
|
||||
gamemode.enable = true;
|
||||
steam = enabled;
|
||||
gamescope = enabled;
|
||||
gamemode = enabled;
|
||||
sunshine = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,21 +6,35 @@
|
|||
}: let
|
||||
cfg = config.xun.gaming;
|
||||
in {
|
||||
options.xun.gaming = {
|
||||
options.xun.gaming = let
|
||||
mkBool = lib.mkOption {type = lib.types.bool;};
|
||||
in {
|
||||
enable = lib.mkEnableOption "gaming";
|
||||
steam.enable = lib.mkEnableOption "steam";
|
||||
gamemode.enable = lib.mkEnableOption "gamemode";
|
||||
gamescope.enable = lib.mkEnableOption "gamescope";
|
||||
sunshine = {
|
||||
enable = lib.mkEnableOption "sunshine";
|
||||
openFirewall = mkBool;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable ({
|
||||
programs.gamescope = lib.mkIf cfg.gamescope.enable {
|
||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||
(lib.mkIf cfg.gamescope.enable {
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
capSysNice = false; # doesnt work with steam & heroic
|
||||
};
|
||||
programs.gamemode.enable = cfg.gamemode.enable;
|
||||
}
|
||||
// lib.mkIf cfg.steam.enable {
|
||||
})
|
||||
(lib.mkIf cfg.sunshine.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
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
|
@ -43,5 +57,6 @@ in {
|
|||
keyutils
|
||||
];
|
||||
};
|
||||
});
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue