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 {
 | |
|     };
 | |
| }
 | |
| 
 |