feat(minecraft): self hosted minecraft server
This commit is contained in:
@@ -9,6 +9,8 @@
|
||||
../../configuration.nix
|
||||
|
||||
./home.nix
|
||||
|
||||
./services.nix
|
||||
];
|
||||
|
||||
users.users."guz" = {
|
||||
|
||||
51
hosts/battleship/services.nix
Normal file
51
hosts/battleship/services.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.nix-minecraft.nixosModules.minecraft-servers
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
inputs.nix-minecraft.overlay
|
||||
];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"minecraft-server"
|
||||
"minecraft-server-1.21.8"
|
||||
];
|
||||
|
||||
services.minecraft-servers = {
|
||||
enable = true;
|
||||
eula = true;
|
||||
dataDir = "/var/lib/minecraft-servers";
|
||||
managementSystem = {
|
||||
tmux.enable = false;
|
||||
systemd-socket.enable = true;
|
||||
};
|
||||
openFirewall = true;
|
||||
servers = {
|
||||
"heart-smp" = let
|
||||
modpack = inputs.heart-modpack.packages.${pkgs.system}.default;
|
||||
mcVersion = modpack.manifest.versions.minecraft;
|
||||
fabricVersion = modpack.manifest.versions.fabric;
|
||||
serverVersion = lib.replaceStrings ["."] ["_"] "fabric-${mcVersion}";
|
||||
in {
|
||||
enable = true;
|
||||
autoStart = false;
|
||||
package = pkgs.fabricServers.${serverVersion}.override {loaderVersion = fabricVersion;};
|
||||
symlinks = {
|
||||
"mods" = "${modpack}/mods";
|
||||
};
|
||||
files = {
|
||||
"config" = "${modpack}/config";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user