55 lines
1.4 KiB
Nix
55 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf mkEnableOption mkOption;
|
|
inherit (lib.types) str package;
|
|
inherit (config.ooknet) gaming;
|
|
gamesDir = config.xdg.userDirs.extraConfig.XDG_GAMES_DIR;
|
|
cfg = config.ooknet.gaming.world-of-warcraft;
|
|
in {
|
|
options.ooknet.gaming.world-of-warcraft = {
|
|
enable = mkEnableOption "Enable the World of Warcraft module";
|
|
|
|
proton = {
|
|
package = mkOption {
|
|
type = package;
|
|
default = pkgs.proton-ge-custom;
|
|
};
|
|
prefix = {
|
|
path = mkOption {
|
|
type = str;
|
|
default = "${gaming.prefixPath}/WoW";
|
|
};
|
|
};
|
|
compatDataPath = mkOption {
|
|
type = str;
|
|
default = "${gaming.compatDataPath}/";
|
|
};
|
|
};
|
|
|
|
gamePrefixPath = mkOption {
|
|
type = str;
|
|
default = "${cfg.winePrefixesPath}/WoW";
|
|
description = "Location where the World of Warcraft prefix will be stored.";
|
|
};
|
|
|
|
gamePath = mkOption {
|
|
type = str;
|
|
default = "${cfg.world-of-warcraft.gamePrefixPath}/drive_c/Program Files (x86)/World of Warcraft";
|
|
description = "Location where the World of Warcraft installation will be symlinked.";
|
|
};
|
|
|
|
gameSharedPath = mkOption {
|
|
type = str;
|
|
default = "${cfg.wineProgramsPath}/World Of Warcraft";
|
|
description = "Location where World of Warcraft game files are stored.";
|
|
};
|
|
};
|
|
config =
|
|
mkIf cfg.enable {
|
|
};
|
|
}
|
|
|