diff --git a/hosts/Infini-DESKTOP/default.nix b/hosts/Infini-DESKTOP/default.nix index 7ef7956..e00260e 100644 --- a/hosts/Infini-DESKTOP/default.nix +++ b/hosts/Infini-DESKTOP/default.nix @@ -37,8 +37,8 @@ enable = true; btrfs.enable = true; }; - software = { - steam.enable = true; + desktop = { + gaming.enableAll = true; }; }; diff --git a/modules/modules/desktop/gaming.nix b/modules/modules/desktop/gaming.nix new file mode 100644 index 0000000..596aa08 --- /dev/null +++ b/modules/modules/desktop/gaming.nix @@ -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; + }; + }) + ]; +} diff --git a/users/infinidoge/default.nix b/users/infinidoge/default.nix index 5a519b5..03d9ef4 100644 --- a/users/infinidoge/default.nix +++ b/users/infinidoge/default.nix @@ -24,7 +24,6 @@ in (ifGraphical [ discord - gaming ]) ]) diff --git a/users/profiles/gaming/default.nix b/users/profiles/gaming/default.nix deleted file mode 100644 index 2f6baca..0000000 --- a/users/profiles/gaming/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: { - home.packages = with pkgs; [ - wineWowPackages.stable - (multimc.override { msaClientID = "01524508-0110-46fc-b468-362d31ca41e6"; }) - lutris - ]; -}