Standardize Minecraft variable formatting

This commit is contained in:
Bun 2025-03-27 09:24:38 -04:00
parent 9190e09c93
commit 9dbf18228b
12 changed files with 108 additions and 116 deletions

View file

@ -1,14 +1,14 @@
{ config, lib, pkgs, stable, unstable, ... }: { config, lib, pkgs, stable, unstable, ... }:
{ with pkgs; {
nix.registry.stable.flake = stable; nix.registry.stable.flake = stable;
nix.registry.unstable.flake = unstable; nix.registry.unstable.flake = unstable;
_module.args.pkgsStable = import stable { _module.args.pkgsStable = import stable {
inherit (pkgs.stdenv.hostPlatform) system; inherit (stdenv.hostPlatform) system;
inherit (config.nixpkgs) config; inherit (config.nixpkgs) config;
}; };
_module.args.pkgsUnstable = import unstable { _module.args.pkgsUnstable = import unstable {
inherit (pkgs.stdenv.hostPlatform) system; inherit (stdenv.hostPlatform) system;
inherit (config.nixpkgs) config; inherit (config.nixpkgs) config;
}; };
} }

View file

@ -1,5 +1,10 @@
{ pkgs, ... }: { config, lib, ... }:
{ {
options.services.minecraft-servers.common = lib.mkOption {
type = lib.types.attrs;
};
config.services.minecraft-servers.common = {
# Common properties # Common properties
serverProperties = { serverProperties = {
enforce-secure-profile = false; enforce-secure-profile = false;
@ -63,4 +68,5 @@
"plugins/Essentials/config.yml" = ./essentialsconfig.yml; "plugins/Essentials/config.yml" = ./essentialsconfig.yml;
"plugins/voicechat/voicechat-server.properties" = ./vcserver.properties; "plugins/voicechat/voicechat-server.properties" = ./vcserver.properties;
}; };
};
} }

View file

@ -1,7 +1,8 @@
{ config, lib, minecraft, ... }: { config, lib, minecraft, ... }:
{ {
imports = [ imports = [
./servers/default.nix ./common
./servers
minecraft.nixosModules.minecraft-servers minecraft.nixosModules.minecraft-servers
]; ];

View file

@ -1,20 +1,18 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let {
common = import ../../common { inherit pkgs; };
in {
services = { services = {
minecraft-servers.servers.blockworld = { minecraft-servers.servers.blockworld = {
autoStart = false; autoStart = false;
package = pkgs.paperServers.paper-1_21_1; package = pkgs.paperServers.paper-1_21_1;
jvmOpts = "-Xmx3072M"; jvmOpts = "-Xmx3072M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 2; difficulty = 2;
server-port = 30012; server-port = 30012;
motd = "\\u00A7fArchival \\u00A7l\\u00A7n\\u00A7cBloxelcom \\u00A7r\\u00A7fMinecraft server."; motd = "\\u00A7fArchival \\u00A7l\\u00A7n\\u00A7cBloxelcom \\u00A7r\\u00A7fMinecraft server.";
}; };
whitelist = common.whitelist; whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = common.paperSymlinks; symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = common.configFiles; files = config.services.minecraft-servers.common.configFiles;
}; };
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.blockworld.enable [ "bloxel.nixfox.ca" ]; cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.blockworld.enable [ "bloxel.nixfox.ca" ];
}; };

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let {
common = import ../../common { inherit pkgs; };
in {
services = { services = {
minecraft-servers.servers.cornworld = { minecraft-servers.servers.cornworld = {
package = pkgs.paperServers.paper-1_21_4; package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2000M"; jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3; difficulty = 3;
server-port = 30016; server-port = 30016;
motd = "\\u00a7e\\u00a7lFreecorn Sever"; motd = "\\u00a7e\\u00a7lFreecorn Sever";
}; };
whitelist = common.whitelist; whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = common.paperSymlinks; symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = common.configFiles; files = config.services.minecraft-servers.common.configFiles;
}; };
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.cornworld.enable [ "corn.nixfox.ca" ]; cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.cornworld.enable [ "corn.nixfox.ca" ];
}; };

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let {
common = import ../../common { inherit pkgs; };
in {
services = { services = {
minecraft-servers.servers.dewdemolisher = { minecraft-servers.servers.dewdemolisher = {
package = pkgs.paperServers.paper-1_21_1; package = pkgs.paperServers.paper-1_21_1;
jvmOpts = "-Xmx2000M"; jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 2; difficulty = 2;
server-port = 30010; server-port = 30010;
motd = "\\u00A7l\\u00A7aDew Demolisher is here."; motd = "\\u00A7l\\u00A7aDew Demolisher is here.";
}; };
whitelist = common.whitelist; whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = common.paperSymlinks; symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = common.configFiles; files = config.services.minecraft-servers.common.configFiles;
}; };
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.dewdemolisher.enable [ "dew.nixfox.ca" ]; cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.dewdemolisher.enable [ "dew.nixfox.ca" ];
}; };

View file

@ -1,18 +1,16 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let {
common = import ../../common { inherit pkgs; };
in {
services = { services = {
minecraft-servers.servers.johnside = { minecraft-servers.servers.johnside = {
package = pkgs.paperServers.paper-1_21_4; package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2500M"; jvmOpts = "-Xmx2500M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 2; difficulty = 2;
server-port = 30009; server-port = 30009;
motd = "\\u00A7l\\u00A79Johnside SMP\\u00A7r \\u00A7l\\u00A7fworld for \\u00A74John lovers only."; motd = "\\u00A7l\\u00A79Johnside SMP\\u00A7r \\u00A7l\\u00A7fworld for \\u00A74John lovers only.";
}; };
whitelist = common.whitelist; whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = common.paperSymlinks // { symlinks = config.services.minecraft-servers.common.paperSymlinks // {
"plugins/CustomDiscs.jar" = builtins.fetchurl { "plugins/CustomDiscs.jar" = builtins.fetchurl {
url = "https://github.com/Navoei/CustomDiscs/releases/download/v3.0/custom-discs-3.0.jar"; url = "https://github.com/Navoei/CustomDiscs/releases/download/v3.0/custom-discs-3.0.jar";
sha256 = "0xv0zrkdmjx0d7l34nqag8j004pm9zqivc12d3zy9pdrkv7pz87d"; sha256 = "0xv0zrkdmjx0d7l34nqag8j004pm9zqivc12d3zy9pdrkv7pz87d";
@ -26,7 +24,7 @@ in {
sha256 = "0mbp73xclr7f5m2lbdfz6is1j8vvyv1qwpl28sm089zrpm73qn6w"; sha256 = "0mbp73xclr7f5m2lbdfz6is1j8vvyv1qwpl28sm089zrpm73qn6w";
}; };
}; };
files = common.configFiles; files = config.services.minecraft-servers.common.configFiles;
}; };
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.johnside.enable [ "john.nixfox.ca" ]; cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.johnside.enable [ "john.nixfox.ca" ];
}; };

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let {
common = import ../../common { inherit pkgs; };
in {
services = { services = {
minecraft-servers.servers.marsh = { minecraft-servers.servers.marsh = {
package = pkgs.paperServers.paper-1_21_4; package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2000M"; jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3; difficulty = 3;
server-port = 30017; server-port = 30017;
motd = "\\u00A7l\\u00A72Murky."; motd = "\\u00A7l\\u00A72Murky.";
}; };
whitelist = common.whitelist; whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = common.paperSymlinks; symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = common.configFiles; files = config.services.minecraft-servers.common.configFiles;
}; };
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.marsh.enable [ "marsh.nixfox.ca" ]; cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.marsh.enable [ "marsh.nixfox.ca" ];
}; };

View file

@ -1,12 +1,10 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let {
common = import ../../common { inherit pkgs; };
in {
services = { services = {
minecraft-servers.servers.roguecraft = { minecraft-servers.servers.roguecraft = {
package = pkgs.paperServers.paper-1_21_1; package = pkgs.paperServers.paper-1_21_1;
jvmOpts = "-Xmx3000M"; jvmOpts = "-Xmx3000M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3; difficulty = 3;
server-port = 30014; server-port = 30014;
motd = "\\u00A7l\\u00A7bNixFox \\u00A7cRoguecraft \\u00A7bserver."; motd = "\\u00A7l\\u00A7bNixFox \\u00A7cRoguecraft \\u00A7bserver.";
@ -14,9 +12,9 @@ in {
resource-pack = "https://nixfox.ca/roguecraftresourcepackredir"; resource-pack = "https://nixfox.ca/roguecraftresourcepackredir";
resource-pack-sha1 = "b540c0562aba90c3ead2356bb9cb74fcf0db36b3"; resource-pack-sha1 = "b540c0562aba90c3ead2356bb9cb74fcf0db36b3";
}; };
whitelist = common.whitelist; whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = common.paperSymlinks; symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = common.configFiles // { files = config.services.minecraft-servers.common.configFiles // {
"world/datapacks/roguecraft.zip" = builtins.fetchurl { "world/datapacks/roguecraft.zip" = builtins.fetchurl {
url = "https://nixfox.ca/roguecraftdatapackredir"; url = "https://nixfox.ca/roguecraftdatapackredir";
sha256 = "04zrkvzvi1i898al45fh9j3k635sf9qhwca7phbv4ynkfl8bz3q3"; sha256 = "04zrkvzvi1i898al45fh9j3k635sf9qhwca7phbv4ynkfl8bz3q3";

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let {
common = import ../../common { inherit pkgs; };
in {
services = { services = {
minecraft-servers.servers.skyblock = { minecraft-servers.servers.skyblock = {
package = pkgs.paperServers.paper-1_21_4; package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2000M"; jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3; difficulty = 3;
server-port = 30015; server-port = 30015;
motd = "\\u00A7l\\u00A7aBlocking in the sky"; motd = "\\u00A7l\\u00A7aBlocking in the sky";
}; };
whitelist = common.whitelist; whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = common.paperSymlinks; symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = common.configFiles; files = config.services.minecraft-servers.common.configFiles;
}; };
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.skyblock.enable [ "skyblock.nixfox.ca" ]; cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.skyblock.enable [ "skyblock.nixfox.ca" ];
}; };

View file

@ -1,6 +1,5 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
common = import ../../common { inherit pkgs; };
uberBukkitZip = pkgs.fetchzip { uberBukkitZip = pkgs.fetchzip {
url = "https://github.com/Moresteck/Project-Poseidon-Uberbukkit/releases/download/2.0.0/uberbukkit-2.0.0-java17.zip"; url = "https://github.com/Moresteck/Project-Poseidon-Uberbukkit/releases/download/2.0.0/uberbukkit-2.0.0-java17.zip";
sha256 = "m4hgcqXJ43SnBGn6qNBGeEcXFv5Q8f/VFYJmx3aJ9PE="; sha256 = "m4hgcqXJ43SnBGn6qNBGeEcXFv5Q8f/VFYJmx3aJ9PE=";
@ -14,7 +13,7 @@ in {
minecraft-servers.servers.uberbeta = { minecraft-servers.servers.uberbeta = {
package = uberBukkit; package = uberBukkit;
jvmOpts = "-Xmx512M"; jvmOpts = "-Xmx512M";
serverProperties = common.serverProperties // { serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3; difficulty = 3;
server-port = 30005; server-port = 30005;
}; };

View file

@ -1,11 +1,11 @@
{ config, lib, pkgs, stable, unstable, ... }: { config, lib, pkgs, stable, unstable, ... }:
{ with pkgs; {
_module.args.pkgsStable = import stable { _module.args.pkgsStable = import stable {
inherit (pkgs.stdenv.hostPlatform) system; inherit (stdenv.hostPlatform) system;
inherit (config.nixpkgs) config; inherit (config.nixpkgs) config;
}; };
_module.args.pkgsUnstable = import unstable { _module.args.pkgsUnstable = import unstable {
inherit (pkgs.stdenv.hostPlatform) system; inherit (stdenv.hostPlatform) system;
inherit (config.nixpkgs) config; inherit (config.nixpkgs) config;
}; };
} }