desktop/gaming: add gaming module

This commit is contained in:
Infinidoge 2021-12-07 10:48:31 -05:00
parent df5738904f
commit 84cc6b4839
4 changed files with 49 additions and 10 deletions

View file

@ -37,8 +37,8 @@
enable = true; enable = true;
btrfs.enable = true; btrfs.enable = true;
}; };
software = { desktop = {
steam.enable = true; gaming.enableAll = true;
}; };
}; };

View file

@ -0,0 +1,47 @@
{ config, options, lib, pkgs, ... }:
with lib;
with lib.hlissner;
let
cfg = config.modules.desktop.gaming;
opt = options.modules.desktop.gaming;
in
{
options.modules.desktop.gaming = with types; {
enableAll = mkBoolOpt false;
steam = {
enable = mkBoolOpt false;
package = mkOpt package pkgs.steam;
};
multimc = {
enable = mkBoolOpt false;
msaClientID = mkOpt str "01524508-0110-46fc-b468-362d31ca41e6";
package = mkOpt package pkgs.multimc;
};
lutris = {
enable = mkBoolOpt false;
packages = mkOpt package pkgs.lutris;
};
};
config = mkMerge [
{
home.home.packages = with pkgs; [
(mkIf cfg.multimc.enable (cfg.multimc.package.override { msaClientID = cfg.multimc.msaClientID; }))
(mkIf cfg.lutris.enable cfg.lutris.packages)
];
modules.software.steam = {
enable = mkAliasDefinitions opt.steam.enable;
package = mkAliasDefinitions opt.steam.package;
};
}
(mkIf cfg.enableAll {
modules.desktop.gaming = {
steam.enable = true;
multimc.enable = true;
lutris.enable = true;
};
})
];
}

View file

@ -24,7 +24,6 @@ in
(ifGraphical [ (ifGraphical [
discord discord
gaming
]) ])
]) ])

View file

@ -1,7 +0,0 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
wineWowPackages.stable
(multimc.override { msaClientID = "01524508-0110-46fc-b468-362d31ca41e6"; })
lutris
];
}