Files
nixos/modules/nix/games.nix
2024-06-17 16:53:43 -05:00

68 lines
1.7 KiB
Nix

{ lib
, pkgs
, config
, localPackages
, ...
}:
with lib; let
cfg = config.simmer.games;
in
{
options.simmer.games = {
enable = mkOption {
description = "Whether to enable games";
type = types.bool;
default = false;
};
protonup.enable = mkOption {
description = "Whether to install protonup";
type = types.bool;
default = true;
};
lutris.enable = mkOption {
description = "Whether to install lutris";
type = types.bool;
default = false;
};
steam.enable = mkOption {
description = "Whether to install steam";
type = types.bool;
default = true;
};
minecraft.enable = mkOption {
description = "Whether to install minecraft launcher";
type = types.bool;
default = false;
};
gamescope.enable = mkOption {
description = "Whether to install gamescope";
type = types.bool;
default = cfg.steam.enable;
};
discord.enable = mkOption {
description = "Whether to install discord";
type = types.bool;
default = true;
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
++ optional cfg.protonup.enable protonup-qt
++ optional cfg.gamescope.enable gamescope
++ optional cfg.discord.enable vesktop
++ optional cfg.minecraft.enable prismlauncher
++ optionals cfg.lutris.enable [ lutris wine ];
programs.steam = mkIf cfg.steam.enable {
enable = true;
};
};
}