|
1 | 1 | # ███╗ ███╗██╗███╗ ██╗███████╗ ██████╗██████╗ █████╗ ███████╗████████╗ |
2 | 2 | # ████╗ ████║██║████╗ ██║██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝ |
3 | | -# ██╔████╔██║██║██╔██╗ ██║█████╗ ██║ ██████╔╝███████║█████╗ ██║ |
4 | | -# ██║╚██╔╝██║██║██║╚██╗██║██╔══╝ ██║ ██╔══██╗██╔══██║██╔══╝ ██║ |
5 | | -# ██║ ╚═╝ ██║██║██║ ╚████║███████╗╚██████╗██║ ██║██║ ██║██║ ██║ |
6 | | -# ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ |
| 3 | +# ██╔████╔██║██║██╔██╗ ██║█████╗ ██║ ██████╔╝███████║█████╗ ██║ |
| 4 | +# ██║╚██╔╝██║██║██║╚██╗██║██╔══╝ ██║ ██╔══██╗██╔══██║██╔══╝ ██║ |
| 5 | +# ██║ ╚═╝ ██║██║██║ ╚████║███████╗╚██████╗██║ ██║██║ ██║██║ ██║ |
| 6 | +# ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ |
7 | 7 | # ═════════════════════════════════════════════════════════════════════════ |
8 | 8 | # A simple minecraft server module for hosting a local network server. |
9 | 9 |
|
10 | | -{ pkgs, lib, config, ... }@args: |
| 10 | +{ |
| 11 | + pkgs, |
| 12 | + lib, |
| 13 | + config, |
| 14 | + ... |
| 15 | +}@args: |
11 | 16 | let |
12 | 17 | inherit (args) inputs; |
13 | 18 | nmx = inputs.nix-minecraft; |
14 | 19 |
|
15 | 20 | serverPack = pkgs.fetchzip { |
16 | | - url = |
17 | | - "https://mediafilez.forgecdn.net/files/6974/725/Prominence%20II%20Hasturian%20Era-v3.9.0.zip"; |
| 21 | + url = "https://mediafilez.forgecdn.net/files/6974/725/Prominence%20II%20Hasturian%20Era-v3.9.0.zip"; |
18 | 22 | sha256 = "sha256-qa6Ma1LC/BnGF9yCSMb0hit3Sgx4bcgt7UAUo9aTeKM="; |
19 | 23 | stripRoot = false; |
20 | 24 | }; |
21 | | - maybeCollect = dir: |
22 | | - if builtins.pathExists "${serverPack}/${dir}" then |
23 | | - nmx.lib.collectFilesAt serverPack dir |
24 | | - else |
25 | | - { }; |
26 | | -in { |
| 25 | + maybeCollect = |
| 26 | + dir: |
| 27 | + if builtins.pathExists "${serverPack}/${dir}" then nmx.lib.collectFilesAt serverPack dir else { }; |
| 28 | +in |
| 29 | +{ |
27 | 30 | imports = [ nmx.nixosModules.minecraft-servers ]; |
28 | 31 |
|
29 | 32 | nixpkgs.overlays = [ nmx.overlay ]; |
30 | 33 |
|
31 | | - nixpkgs.config.allowUnfreePredicate = pkg: |
32 | | - builtins.elem (lib.getName pkg) [ "minecraft-server" ]; |
| 34 | + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "minecraft-server" ]; |
33 | 35 |
|
34 | 36 | services.minecraft-servers = { |
35 | 37 | enable = true; |
|
42 | 44 | autoStart = true; |
43 | 45 | package = pkgs.fabricServers.fabric-1_20_1; |
44 | 46 |
|
45 | | - jvmOpts = |
46 | | - "-Xms8G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled"; |
| 47 | + jvmOpts = "-Xms8G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled"; |
47 | 48 |
|
48 | | - serverProperties = { motd = "Lukas' Epic Minecraft Server!"; }; |
| 49 | + serverProperties = { |
| 50 | + motd = "Lukas' Epic Minecraft Server!"; |
| 51 | + }; |
49 | 52 |
|
50 | | - files = maybeCollect "mods" // maybeCollect "overrides/mods" |
51 | | - // maybeCollect "config" // maybeCollect "defaultconfigs" |
52 | | - // maybeCollect "kubejs" // maybeCollect "scripts" |
| 53 | + files = |
| 54 | + maybeCollect "mods" |
| 55 | + // maybeCollect "overrides/mods" |
| 56 | + // maybeCollect "config" |
| 57 | + // maybeCollect "defaultconfigs" |
| 58 | + // maybeCollect "kubejs" |
| 59 | + // maybeCollect "scripts" |
53 | 60 | // maybeCollect "config/ftbquests" |
54 | 61 | // maybeCollect "overrides/config" # some CF packs use overrides/ |
55 | 62 | // maybeCollect "overrides/defaultconfigs"; |
|
0 commit comments