play.nix/modules/nixos/lutris.nix

47 lines
948 B
Nix

{
pkgs,
lib,
config,
...
}:
let
cfg = config.play.lutris;
defaultExtraPkgs = with pkgs; [
wineWowPackages.waylandFull
winetricks
vulkan-tools
xterm
];
configuredLutris = pkgs.lutris.override {
extraPkgs = pkgs: defaultExtraPkgs ++ cfg.extraPkgs;
};
in
{
options.play.lutris = {
enable = lib.mkEnableOption "Install Lutris game manager";
extraPkgs = lib.mkOption {
type = lib.types.listOf lib.types.package;
default = [ ];
example = with pkgs; [
mangohud
gamemode
];
description = "Additional extra packages for Lutris runtime (added to defaults)";
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = configuredLutris;
description = "The configured Lutris package with extra packages";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
};
}