{ self, lib, config, pkgs, ... }: with pkgs; let modDrv = pkgs.factorio-utils.modDrv { allRecommendedMods = true; allOptionalMods = false; }; flib = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/EsrBq2XpR9bTp7b/download/flib_0.12.6.zip" ]; sha256 = "Wf/w3Bh4jT5DDEp6GCVdg181DxEjiWe1iN3h5X7/oAw="; }; }; electricalTrains = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/oHXWpoi7kD52Dzt/download/Realistic_Electric_Trains_Krastorio_2_1.0.0.zip" ]; sha256 = "ujO5qRHzKgxX/vsYYvoBjh1UKukGD31FvjLQZzCqxlk="; }; }; krastorio2Assets = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/czsmnaiis25TX8m/download/Krastorio2Assets_1.2.1.zip" ]; sha256 = "1Y8I40I8EQLdLuiWDr+aty8p7PNh1pY6IPkRVz2pi5E="; }; }; krastorio2 = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/DepN4zWWjiEJpZt/download/Krastorio2_1.3.18.zip" ]; sha256 = "wuMVVW7SbDdBxcUmJLT9MzpC9W1RRJaTs2cYylt6ilU="; }; deps = [flib krastorio2Assets]; }; in rec { services.factorio = { enable = true; package = pkgs.factorio-headless-experimental; openFirewall = true; game-name = "pub.solar Factorio"; game-password = "pub.solar"; admins = ["hensoko"]; mods = [electricalTrains krastorio2]; }; }