121 lines
5.1 KiB
Nix
121 lines
5.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
let
|
|
cfg = config.programs.wow-addon-manager;
|
|
in {
|
|
|
|
options.programs.wow-addon-manager = {
|
|
enable = mkOption {
|
|
default = false;
|
|
description = lib.mdDoc ''
|
|
Whether to enable wow-addon-manager.
|
|
'';
|
|
type = types.bool;
|
|
};
|
|
startAt = mkOption {
|
|
type = with types; either str (listOf str);
|
|
default = "*:0/15";
|
|
example = "*:0/15";
|
|
description = lib.mdDoc ''
|
|
The time(s) to run wow-addon-manager updates.
|
|
Specified in systemd's time format; see
|
|
{manpage}`systemd.time(7)`.
|
|
'';
|
|
};
|
|
user = mkOption {
|
|
type = types.str;
|
|
default = "dominik";
|
|
description = lib.mdDoc "User to run wow-addon-manager.";
|
|
};
|
|
addonList = mkOption {
|
|
type = with types; nullOr lines;;
|
|
default = null;
|
|
description = lib.mdDoc ''
|
|
WoW Retail addons to load
|
|
'';
|
|
example = literalExpression ''
|
|
https://wowinterface.com/downloads/info15636-tullaRange.html
|
|
https://addon.theunderminejournal.com/TheUndermineJournal.zip
|
|
https://github.com/TekNoLogic/VendorBait.git
|
|
https://github.com/ColbyWanShinobi/gsReloadUI.git
|
|
https://github.com/ColbyWanShinobi/gsNoGryphons.git
|
|
https://github.com/ColbyWanShinobi/gsQuestSounds.git
|
|
http://wowinterface.com/downloads/info12995-NPCScan.html
|
|
https://wowinterface.com/downloads/info5108-Clique.html
|
|
https://wowinterface.com/downloads/info20804-Grail.html
|
|
https://wowinterface.com/downloads/info7032-TomTom.html
|
|
https://wowinterface.com/downloads/info24910-WeakAuras2.html
|
|
https://wowinterface.com/downloads/info7296-Pawn.html
|
|
https://wowinterface.com/downloads/info20805-Wholly.html
|
|
https://wowinterface.com/downloads/info24802-ChampionCommander.html
|
|
https://www.wowinterface.com/downloads/info25313-Dejunk.html
|
|
https://www.wowinterface.com/downloads/info10089-ItemID.html
|
|
https://www.wowinterface.com/downloads/info24508-ImprovedNameplates.html
|
|
'';
|
|
};
|
|
classicAddonList = mkOption {
|
|
type = with types; nullOr lines;;
|
|
default = null;
|
|
description = lib.mdDoc ''
|
|
WoW Retail addons to load
|
|
'';
|
|
example = literalExpression ''
|
|
https://github.com/RagedUnicorn/wow-vanilla-gearmenu.git
|
|
https://wowinterface.com/downloads/info15636-tullaRange.html
|
|
https://www.curseforge.com/wow/addons/bagsync/download
|
|
https://www.curseforge.com/wow/addons/quest_completist/download
|
|
http://www.curseforge.com/wow/addons/mmz/download
|
|
http://www.curseforge.com/wow/addons/clique/download
|
|
http://www.curseforge.com/wow/addons/grail/download
|
|
http://www.curseforge.com/wow/addons/tomtom/download
|
|
https://github.com/TekNoLogic/VendorBait.git
|
|
https://github.com/ColbyWanShinobi/gsReloadUI.git
|
|
https://github.com/ColbyWanShinobi/gsNoGryphons.git
|
|
https://github.com/ColbyWanShinobi/gsQuestSounds.git
|
|
https://www.curseforge.com/wow/addons/tradeskill-master/download
|
|
https://www.curseforge.com/wow/addons/monkey-speed/download
|
|
https://www.curseforge.com/wow/addons/cursortrail/download
|
|
http://wowinterface.com/downloads/info12995-NPCScan.html
|
|
https://www.curseforge.com/wow/addons/advancedinterfaceoptions/download
|
|
https://www.curseforge.com/wow/addons/weaponswingtimer/download
|
|
https://www.curseforge.com/wow/addons/azeroth-auto-pilot-classic/download
|
|
https://www.curseforge.com/wow/addons/details/download
|
|
https://www.curseforge.com/wow/addons/big-wigs/download
|
|
https://www.curseforge.com/wow/addons/bartender4/download
|
|
https://www.curseforge.com/wow/addons/little-wigs/download
|
|
https://www.curseforge.com/wow/addons/omni-cc/download
|
|
https://www.curseforge.com/wow/addons/questie/download
|
|
https://www.curseforge.com/wow/addons/atlaslootclassic/download
|
|
https://www.curseforge.com/wow/addons/mapster/download
|
|
https://www.curseforge.com/wow/addons/vendor-price/download
|
|
https://www.curseforge.com/wow/addons/leatrix-plus-classic/download
|
|
https://www.curseforge.com/wow/addons/inventorian/download
|
|
https://www.curseforge.com/wow/addons/bagnon/download
|
|
https://www.wowinterface.com/downloads/info25006-ClassicAuraDurations.html
|
|
https://www.wowinterface.com/downloads/info24958-AuctionatorClassicquickfix.html
|
|
https://www.wowinterface.com/downloads/info25036-DruidBarClassic.html
|
|
https://www.curseforge.com/wow/addons/outfitter/download
|
|
https://wowinterface.com/downloads/info24944-WeakAuras2Classic.html
|
|
'';
|
|
};
|
|
};
|
|
|
|
config = {
|
|
systemd.services."wow-addon-manager" = {
|
|
startAt = cfg.startAt;
|
|
script = ''
|
|
set -eu
|
|
${pkgs.wow-addon-manager}/bin/wow-addon-manager
|
|
${pkgs.wow-addon-manager}/bin/wow-addon-manager classic
|
|
'';
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
User = cfg.user;
|
|
};
|
|
};
|
|
environment.etc = {
|
|
"wow-addon-manager/addon.list".text = cfg.addonList;
|
|
"wow-addon-manager/addon.classic.list".text = cfg.classicAddonList;
|
|
};
|
|
};
|
|
}
|