{ lib, config, pkgs, ... }: with pkgs; let modDrv = pkgs.factorio-utils.modDrv { allRecommendedMods = true; allOptionalMods = false; }; # Krastorio flib = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/EsrBq2XpR9bTp7b/download/flib_0.12.6.zip" ]; sha256 = "Wf/w3Bh4jT5DDEp6GCVdg181DxEjiWe1iN3h5X7/oAw="; }; }; 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]; }; # Alien Biomes alienBiomes = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/FH22nM54PfcTios/download/alien-biomes_0.6.8.zip" ]; sha256 = "oy7VeSIxJmTNmpu/0tGqhbrfPFoJRQc5eS6eI/Epp1A="; }; }; # Auto Deconstruct autoDeconstruct = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/fSLQCfRGFKTbQSw/download/AutoDeconstruct_0.3.7.zip" ]; sha256 = "VYgLhfWSaWtbY8l+c+9v498IPA/Q7XdRveEsw/pxuJw="; }; }; # Cargo Ships cargoShips = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/tcYXBymFT8idCdb/download/cargo-ships_0.1.22.zip" ]; sha256 = "pfP97myiibmp00o75Yo9rVYS6cYKgflGiRNsP+FTjFU="; }; }; # Electrical Trains electricalTrains = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/oHXWpoi7kD52Dzt/download/Realistic_Electric_Trains_Krastorio_2_1.0.0.zip" ]; sha256 = "ujO5qRHzKgxX/vsYYvoBjh1UKukGD31FvjLQZzCqxlk="; }; }; # far reach farReach = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/KAqfr826ccHHRpG/download/far-reach_1.1.2.zip" ]; sha256 = "y1XuduS9WKMtGKLj7hQgh7wOy8l3l5WWlLTm6BJ1yxA="; }; }; # Fluid Must Flow fluidMustFlow = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/J2XA4jPNNWxSSti/download/FluidMustFlow_1.3.1.zip" ]; sha256 = "X2dGJCFL1dRRP7BFhFKI7mgtFd4zjHYWO8ehII6aaDc="; }; }; # Recipe Book recipeBook = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/oRQYJ4H7xkc3rtq/download/RecipeBook_3.5.2.zip" ]; sha256 = "dPj9FH0r4dXtdrXyAkVIwXveECCBzcVGlJmQsF0oSpE="; }; }; # Regenerate Terrain regenerateTerrain = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/YWTEB6rQeptmxGL/download/regenerate-terrain_0.3.1.zip" ]; sha256 = "EIZQeTzHAvSEFAOh6pN0Xd5GbqV9O/wI2QA5YtR8GxU="; }; }; # Space Exploration spaceExploration = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/yy79DMAQtqCcWYW/download/space-exploration_0.6.104.zip" ]; sha256 = "5vFD+6R4jqp2PH6ASa1JJ0+acXi+dBwyrM/xil8RyU0="; }; }; # Todo List todoList = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/bJjpgSMamwex7pF/download/Todo-List_19.3.0.zip" ]; sha256 = "0QPp7W2OOrkpLs+fOvTxut+6rV0heZdfEA4sbvyb+rs="; }; }; # Vehicle Snap vehicleSnap = modDrv { src = fetchurl { urls = [ "https://cloud.pub.solar/s/ZgDTAgY4dxiwZ3d/download/VehicleSnap_1.18.5.zip" ]; sha256 = "VRo2feta/CZGXGHbOwLOWdXZUoiqwlLPne0dC3YPyDA="; }; }; in rec { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "factorio-headless" ]; services.factorio = { enable = true; package = pkgs.factorio-headless-experimental; openFirewall = true; game-name = "pub.solar Factorio"; game-password = "pub.solar"; admins = ["hensoko"]; mods = [ krastorio2 alienBiomes autoDeconstruct cargoShips electricalTrains farReach fluidMustFlow recipeBook regenerateTerrain spaceExploration todoList vehicleSnap ]; }; }