diff options
author | Daniel Hill <daniel@gluo.nz> | 2022-11-01 06:57:07 +1300 |
---|---|---|
committer | Daniel Hill <daniel@gluo.nz> | 2022-11-01 06:57:07 +1300 |
commit | c6e6d44fe5f6c4ee4350ed330eb7996b57232ed8 (patch) | |
tree | a7ebb85155ecff80316f4e35110918f66035d139 /pkgs/games/factorio | |
parent | a1115f5ea5a82c5758194e7ad72718237a85c1ba (diff) |
factorio: let us change mod settings
Diffstat (limited to 'pkgs/games/factorio')
-rw-r--r-- | pkgs/games/factorio/default.nix | 3 | ||||
-rw-r--r-- | pkgs/games/factorio/utils.nix | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix index f47eda65b6c1a..a65ce6bac0dbf 100644 --- a/pkgs/games/factorio/default.nix +++ b/pkgs/games/factorio/default.nix @@ -3,6 +3,7 @@ , libSM, libICE, libXext, factorio-utils , releaseType , mods ? [] +, mods-dat ? null , versionsJson ? ./versions.json , username ? "", token ? "" # get/reset token at https://factorio.com/profile , experimental ? false # true means to always use the latest branch @@ -130,7 +131,7 @@ let fi ''; - modDir = factorio-utils.mkModDirDrv mods; + modDir = factorio-utils.mkModDirDrv mods mods-dat; base = with actual; { pname = "factorio-${releaseType}"; diff --git a/pkgs/games/factorio/utils.nix b/pkgs/games/factorio/utils.nix index be5b7fd5eccc8..86b0b2f851044 100644 --- a/pkgs/games/factorio/utils.nix +++ b/pkgs/games/factorio/utils.nix @@ -3,7 +3,7 @@ { lib, stdenv }: with lib; { - mkModDirDrv = mods: # a list of mod derivations + mkModDirDrv = mods: modsDatFile: # a list of mod derivations let recursiveDeps = modDrv: [modDrv] ++ map recursiveDeps modDrv.deps; modDrvs = unique (flatten (map recursiveDeps mods)); @@ -18,7 +18,9 @@ with lib; # NB: there will only ever be a single zip file in each mod derivation's output dir ln -s $modDrv/*.zip $out done - ''; + '' + (if modsDatFile != null then '' + cp ${modsDatFile} $out/mod-settings.dat + '' else ""); }; modDrv = { allRecommendedMods, allOptionalMods }: |