blob: 861c11dcf50ec628a15ddb041829f9dc824a6e6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
{ config, pkgs, ... }:
let
modDrv = pkgs.factorio-utils.modDrv {
allRecommendedMods = true;
allOptionalMods = false;
};
modPortalDrv = { id, name, version, sha256, deps ? [], optionalDeps ? [], recommendedDeps ? [] }: modDrv {
# src = pkgs.factorio-fetch {
# name = ''${name}_${version}.zip'';
# url = ''https://mods.factorio.com/api/downloads/data/mods/${id}_${version}.zip'';
# inherit sha256;
# loginUrl = "";
# };
name = ''${name}-${version}'';
src = pkgs.fetchurl {
url = ''https://f.141.li/${name}_${version}.zip'';
inherit sha256;
};
inherit deps optionalDeps recommendedDeps;
};
availableMods = rec {
autofill = modPortalDrv {
name = "autofill";
version = "1.4.5";
sha256 = "1nmn12d7fpi6gk5i6dvzqnca1hs9icqssgvjc2qdi9hz2n07h265";
};
EvoGUI = modPortalDrv {
name = "EvoGUI";
version = "0.4.108";
sha256 = "1z7cx8a4ybilccvxsmd85i7q2fy95as1mjs7gvbmnllp0r6p73pj";
};
factorio-reach = modPortalDrv {
name = "factorio-reach";
version = "2.1.1";
sha256 = "1ll77ns2bvzsvypd27y545inb5489lsk2is4wv01q4i8zbvbviac";
};
FAIR = modPortalDrv {
name = "FAIR";
version = "0.0.1";
sha256 = "0cwgidy3ycp90jy9qrll2gyvkmdxys5v8w6qrciifh3h77dx5ryg";
};
EvenMoreLight = modPortalDrv {
name = "EvenMoreLight";
version = "0.0.3";
sha256 = "06j891nbcl07di2rs0zh87hczp2p1mbpai14w52myxag0ysy4zya";
};
RailTanker = modPortalDrv {
name = "RailTanker";
version = "1.4.0";
sha256 = "1y9p6qiwrypyqk58rr3ahq11ikyk752fbap3n15mdplkc9i4gpfr";
};
rso-mod = modPortalDrv {
name = "rso-mod";
version = "2.2.2";
sha256 = "0d46vz204bv220ifjaa8qcvnbzkalrqgppmzwk43kvy1jyp9xil4";
};
YARM = modPortalDrv {
name = "YARM";
version = "0.7.106";
sha256 = "1qy7bylp79jfs9s81sc4g9qqwby2hsy3hcjz80cfha1sz0c048i7";
};
};
in {
services.factorio = {
enable = true;
saveName = config.networking.hostName;
mods = with availableMods; [
autofill
EvoGUI
factorio-reach
FAIR
EvenMoreLight
RailTanker
rso-mod
YARM
];
autosave-interval = 10;
};
nixpkgs.config.allowUnfree = true;
nixpkgs.config.packageOverrides = pkgs: {
factorio-mkModDirDrv = pkgs.factorio-utils.mkModDirDrv;
};
}
|