feat: minecraft server test
This commit is contained in:
102
flake.lock
generated
102
flake.lock
generated
@@ -39,6 +39,22 @@
|
|||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1673956053,
|
||||||
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1629284811,
|
"lastModified": 1629284811,
|
||||||
@@ -54,6 +70,24 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681202837,
|
||||||
|
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flatpaks": {
|
"flatpaks": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711997375,
|
"lastModified": 1711997375,
|
||||||
@@ -226,7 +260,7 @@
|
|||||||
"xdg-desktop-portal-hyprland",
|
"xdg-desktop-portal-hyprland",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713121246,
|
"lastModified": 1713121246,
|
||||||
@@ -306,6 +340,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-minecraft": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1716513728,
|
||||||
|
"narHash": "sha256-yZJebdRQ1UmJ6BMVNRDwwd2ZyBtpxDXsVQixlDe+Ras=",
|
||||||
|
"owner": "Infinidoge",
|
||||||
|
"repo": "nix-minecraft",
|
||||||
|
"rev": "876132681d6c3c2ef74cc9e37c0730e8dfe6ed4d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Infinidoge",
|
||||||
|
"repo": "nix-minecraft",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716330097,
|
"lastModified": 1716330097,
|
||||||
@@ -355,8 +409,24 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716509168,
|
"lastModified": 1715266358,
|
||||||
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1716137900,
|
||||||
|
"narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
||||||
@@ -369,7 +439,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712963716,
|
"lastModified": 1712963716,
|
||||||
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
|
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
|
||||||
@@ -393,7 +463,8 @@
|
|||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"nix-colors": "nix-colors",
|
"nix-colors": "nix-colors",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nix-minecraft": "nix-minecraft",
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"tmux-plugin-manager": "tmux-plugin-manager",
|
"tmux-plugin-manager": "tmux-plugin-manager",
|
||||||
"xdg-desktop-portal-hyprland": "xdg-desktop-portal-hyprland"
|
"xdg-desktop-portal-hyprland": "xdg-desktop-portal-hyprland"
|
||||||
@@ -436,6 +507,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
@@ -450,7 +536,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_3": {
|
"systems_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
@@ -485,8 +571,8 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": "hyprland-protocols_2",
|
"hyprland-protocols": "hyprland-protocols_2",
|
||||||
"hyprlang": "hyprlang_2",
|
"hyprlang": "hyprlang_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"systems": "systems_3"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716290197,
|
"lastModified": 1716290197,
|
||||||
|
|||||||
@@ -37,6 +37,8 @@
|
|||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||||
|
|
||||||
# hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
# hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
# Temp version pin because of issue https://github.com/hyprwm/Hyprland/issues/6132
|
# Temp version pin because of issue https://github.com/hyprwm/Hyprland/issues/6132
|
||||||
# hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1&rev=cba1ade848feac44b2eda677503900639581c3f4";
|
# hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1&rev=cba1ade848feac44b2eda677503900639581c3f4";
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ in {
|
|||||||
secrets.services;
|
secrets.services;
|
||||||
networking.firewall.allowedTCPPorts = [80 433];
|
networking.firewall.allowedTCPPorts = [80 433];
|
||||||
|
|
||||||
|
profiles.minecraft-servers.enable = true;
|
||||||
|
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
services.forgejo = {
|
services.forgejo = {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./locale.nix
|
./locale.nix
|
||||||
./media-server.nix
|
./media-server.nix
|
||||||
|
./minecraft-servers.nix
|
||||||
];
|
];
|
||||||
options = {};
|
options = {};
|
||||||
config = {};
|
config = {};
|
||||||
|
|||||||
109
modules/nixos/profiles/minecraft-servers.nix
Normal file
109
modules/nixos/profiles/minecraft-servers.nix
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
{ config
|
||||||
|
, lib
|
||||||
|
, pkgs
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.profiles.minecraft-servers;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ ../services/minecraft-servers.nix ];
|
||||||
|
options.profiles.minecraft-servers = with lib; {
|
||||||
|
enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
config =
|
||||||
|
let
|
||||||
|
optimizationMods = builtins.attrValues {
|
||||||
|
AlternateCurrent = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/r0v8vy1s/versions/CFNRLnDw/alternate-current-mc1.20-1.8.0-beta.3.jar";
|
||||||
|
sha256 = "130k9ay8hylbv2ijzj5n9951ww2lxyqrykazvr8l3yf1dbm0n56r";
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
BetterMaps = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/JX1fvBwM/versions/SSxJn7Q3/bettermaps-mc1.20-0.5.2.jar";
|
||||||
|
sha256 = "0aps89kxx98xhmya4ljy3h3dhni88wv697vh7ipg3vzfxhqyfj9p";
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
CCME = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/VSNURh3q/versions/1jjyJyVe/c2me-fabric-mc1.20.6-0.2.0+alpha.11.95.jar";
|
||||||
|
sha256 = "0ja97jv4x1xhm1nmpq661qf641zv314zzdp7q9d0wzfp712am0dc";
|
||||||
|
};
|
||||||
|
Chunky = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/fALzjamp/versions/ZrmnYk7q/Chunky-1.4.10.jar";
|
||||||
|
sha256 = "098gg5s02c5lnz9y85vja9z17cmkaidf8fr99drrym5z1n3d48jf";
|
||||||
|
};
|
||||||
|
DisablePortalChecks = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/uOzKOGGt/versions/zW17oIr0/disableportalchecks-1.0.0.jar";
|
||||||
|
sha256 = "1zq535nb6zv22plvz3p6ykh02skng6wjjzsalm1qmlidj22r8j40";
|
||||||
|
};
|
||||||
|
FabricApi = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/191HCCtF/fabric-api-0.98.0+1.20.6.jar";
|
||||||
|
sha256 = "09p29f4333mnwigs7v307xhli99n51qg7prkkp9yfm9pwnvv26q3";
|
||||||
|
};
|
||||||
|
FasterRandom = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/RfFxanNh/versions/I8jy69I9/fasterrandom-4.1.0.jar";
|
||||||
|
sha256 = "0hwxbkic4mwjl3sqm9hsl8xvf96qk87ah1njl7pnqpam720zl0i3";
|
||||||
|
};
|
||||||
|
Icterine = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/7RvRWn6p/versions/W7L89aQM/Icterine-fabric-1.20.3-4-1.3.0.jar";
|
||||||
|
sha256 = "15vv2xqd6gzvckr3wxgisz02x9d938cgg2ncc2gnd3m6k3l6l5w5";
|
||||||
|
};
|
||||||
|
Lithium = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/bAbb09VF/lithium-fabric-mc1.20.6-0.12.3.jar";
|
||||||
|
sha256 = "03fikawl6rw14gkzz74k7zv1cf9m0l9am12l2wmjf8mm0a9dmp9l";
|
||||||
|
};
|
||||||
|
MemoryLeakFix = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/NRjRiSSD/versions/5xvCCRjJ/memoryleakfix-fabric-1.17+-1.1.5.jar";
|
||||||
|
sha256 = "1pmdllflr2mjjh2r3v8lyz8rxg0ncq8m9r15vl89f09f4vbk7b5q";
|
||||||
|
};
|
||||||
|
Noisium = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/KuNKN7d2/versions/lT2Jvcwv/noisium-fabric-2.1.0+mc1.20.5-1.20.6.jar";
|
||||||
|
sha256 = "0bawxlrph66jladb9w1b20qn7av6az45nfn4bnggcygza35r0mrj";
|
||||||
|
};
|
||||||
|
NoKebab = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/y82xHklI/versions/t1haYknB/no-kebab-1.3.0+1.20.6.jar";
|
||||||
|
sha256 = "1xks224cls95jnfhk54plnsmb1x4bb0llr17w1rwbbn6rx66p6gi";
|
||||||
|
};
|
||||||
|
ModernFix = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/nmDcB62a/versions/xlt4bcjj/modernfix-fabric-5.17.3+mc1.20.6.jar";
|
||||||
|
sha256 = "1sdbv2a3zb1j481g2318vfaxd5hlx0h5fl7azl3j46095422yw93";
|
||||||
|
};
|
||||||
|
ServerCode = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/4WWQxlQP/versions/MiqvHRzE/servercore-fabric-1.5.1+1.20.5.jar";
|
||||||
|
sha256 = "1vhb3dik4vancgsgm0ldmgx6qlsw0iiqlcq8gy0ifxmjmm1sin6f";
|
||||||
|
};
|
||||||
|
Slumber = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/ksm6XRZ9/versions/mPf1P26X/slumber-1.2.0.jar";
|
||||||
|
sha256 = "1chp2wkjcmxi4apry1fkml3n7k4x2sjwc7dx9qjklqpcw4gbn7s7";
|
||||||
|
};
|
||||||
|
ThreadTweak = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/vSEH1ERy/versions/BtMMYDAh/threadtweak-fabric-1.20.6-0.1.3.jar";
|
||||||
|
sha256 = "12nyln487bsn4gvlynzw0samds8mxi02bkxb9jdl9x0yy16pbrfh";
|
||||||
|
};
|
||||||
|
VeryManyPlayer = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.modrinth.com/data/wnEe9KBa/versions/83ET13o3/vmp-fabric-mc1.20.6-0.2.0+beta.7.155-all.jar";
|
||||||
|
sha256 = "039adzcpl9bx4h2gsl399b97vsi0h3b33421jbsl603rld6cgz88";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
with lib;
|
||||||
|
mkIf cfg.enable {
|
||||||
|
services.minecraft-servers.enable = true;
|
||||||
|
services.minecraft-servers.eula = true;
|
||||||
|
services.minecraft-servers.openFirewall = true;
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 25565 ];
|
||||||
|
|
||||||
|
services.minecraft-servers.servers.survival = {
|
||||||
|
enable = true;
|
||||||
|
restart = "no";
|
||||||
|
serverProperties = {
|
||||||
|
server-port = 25565;
|
||||||
|
};
|
||||||
|
package = pkgs.fabricServers.fabric-1_20_6.override { };
|
||||||
|
symlinks = {
|
||||||
|
mods = pkgs.linkFarmFromDrvs "mods" optimizationMods;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./adguardhome.nix
|
./adguardhome.nix
|
||||||
./forgejo
|
./forgejo
|
||||||
|
./minecraft-servers.nix
|
||||||
./qbittorrent.nix
|
./qbittorrent.nix
|
||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
];
|
];
|
||||||
|
|||||||
17
modules/nixos/services/minecraft-servers.nix
Normal file
17
modules/nixos/services/minecraft-servers.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.services.minecraft-servers;
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
inputs.nix-minecraft.nixosModules.minecraft-servers
|
||||||
|
];
|
||||||
|
options.services.minecraft-servers = with lib; with lib.types; {};
|
||||||
|
config = with lib;
|
||||||
|
mkIf cfg.enable {
|
||||||
|
nixpkgs.overlays = [inputs.nix-minecraft.overlay];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user