summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ymir.nix1
-rw-r--r--ymir/factorio.nix82
2 files changed, 83 insertions, 0 deletions
diff --git a/ymir.nix b/ymir.nix
index cb3d3179..4e8c332c 100644
--- a/ymir.nix
+++ b/ymir.nix
@@ -25,6 +25,7 @@ in rec {
25 [ 25 [
26 ./ymir/hw.nix 26 ./ymir/hw.nix
27 ./ymir/mlmmj-expose.nix 27 ./ymir/mlmmj-expose.nix
28 ./ymir/factorio.nix
28 ./custom/zsh.nix 29 ./custom/zsh.nix
29 ./users.nix 30 ./users.nix
30 ./custom/tinc/def.nix 31 ./custom/tinc/def.nix
diff --git a/ymir/factorio.nix b/ymir/factorio.nix
new file mode 100644
index 00000000..1931f086
--- /dev/null
+++ b/ymir/factorio.nix
@@ -0,0 +1,82 @@
1{ config, pkgs, ... }:
2
3let
4 modDrv = pkgs.factorio-utils.modDrv {
5 allRecommendedMods = true;
6 allOptionalMods = false;
7 };
8 modPortalDrv = { id, name, version, sha256, deps ? [], optionalDeps ? [], recommendedDeps ? [] }: modDrv {
9 src = fetchurl {
10 url = ''https://mods.factorio.com/api/downloads/data/mods/${id}_${version}.zip'';
11 inherit sha256;
12 };
13 inherit deps optionalDeps recommendedDeps;
14 };
15
16 mods = rec {
17 autofill = modPortalDrv {
18 id = 354;
19 name = "autofill";
20 version = "1.4.5";
21 sha256 = null;
22 };
23 EvoGUI = modPortalDrv {
24 id = 160;
25 name = "EvoGUI";
26 version = "0.4.108";
27 sha256 = null;
28 };
29 factorio-reach = modPortalDrv {
30 id = 100;
31 name = "factorio-reach";
32 version = "2.1.1";
33 sha256 = null;
34 };
35 FAIR = modPortalDrv {
36 id = 400;
37 name = "FAIR";
38 version = "0.0.1";
39 sha256 = null;
40 };
41 EvenMoreLight = modPortalDrv {
42 id = 551;
43 name = "EvenMoreLight";
44 version = "0.0.3";
45 sha256 = null;
46 };
47 RailTanker = modPortalDrv {
48 id = 45;
49 name = "RailTanker";
50 version = "1.4.0";
51 sha256 = null;
52 };
53 rso-mod = modPortalDrv {
54 id = 34;
55 name = "rso-mod";
56 version = "2.2.2";
57 sha256 = null;
58 };
59 YARM = modPortalDrv {
60 id = 187;
61 name = "YARM";
62 version = "0.7.106";
63 sha256 = null;
64 };
65 };
66in {
67 services.factorio = {
68 enable = true;
69 saveName = config.network.hostname;
70 mods = [
71 autofill
72 EvoGUI
73 factorio-reach
74 FAIR
75 EvenMoreLight
76 RailTanker
77 rso-mod
78 YARM
79 ];
80 autosave-interval = 10;
81 };
82}