diff --git a/flake.lock b/flake.lock index 36b5355..da56a2e 100644 --- a/flake.lock +++ b/flake.lock @@ -196,6 +196,22 @@ } }, "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -211,7 +227,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_5": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -367,6 +383,24 @@ } }, "flake-utils_3": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { "inputs": { "systems": [ "stylix", @@ -387,9 +421,9 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_5": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1731533236, @@ -423,7 +457,7 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "gitignore": "gitignore", "nixpkgs": [ "nvim-config", @@ -640,12 +674,12 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_3", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "treefmt-nix": "treefmt-nix_2" }, "locked": { @@ -720,6 +754,26 @@ "type": "github" } }, + "nix-minecraft": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1745114634, + "narHash": "sha256-gB63YTgfrX2zH2zFIruRrOrLltjSBoYm2L56yaGo5XM=", + "owner": "Infinidoge", + "repo": "nix-minecraft", + "rev": "92120cad3f2b7c1c326b6ca0b9beda171d6ee6a3", + "type": "github" + }, + "original": { + "owner": "Infinidoge", + "repo": "nix-minecraft", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1740367490, @@ -765,6 +819,22 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1742889210, + "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "698214a32beb4f4c8e3942372c694f40848b360d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1740547748, "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", @@ -863,7 +933,8 @@ "hardware": "hardware", "home-manager": "home-manager", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_2", + "nix-minecraft": "nix-minecraft", + "nixpkgs": "nixpkgs_3", "nvim-config": "nvim-config", "sobercookie": "sobercookie", "sops-nix": "sops-nix", @@ -920,8 +991,8 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_3", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_4", "git-hooks": "git-hooks_2", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", @@ -929,7 +1000,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems_3", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -995,6 +1066,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -1173,7 +1259,7 @@ "wayland-appusage": { "inputs": { "crane": "crane", - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index ab88766..a74b20e 100644 --- a/flake.nix +++ b/flake.nix @@ -61,6 +61,9 @@ vpn-confinement.url = "github:Maroka-chan/VPN-Confinement"; + nix-minecraft.url = "github:Infinidoge/nix-minecraft"; + # nix-minecraft.inputs.nixpkgs.follows = "nixpkgs"; + sobercookie.url = "github:xunuwu/sobercookie"; sobercookie.inputs.nixpkgs.follows = "nixpkgs"; diff --git a/sys/machines/hopper/default.nix b/sys/machines/hopper/default.nix index 44fd45e..fce7410 100644 --- a/sys/machines/hopper/default.nix +++ b/sys/machines/hopper/default.nix @@ -9,6 +9,7 @@ imports = with systemProfiles; [ inputs.hardware.nixosModules.common-cpu-intel inputs.vpn-confinement.nixosModules.default + inputs.nix-minecraft.nixosModules.minecraft-servers ./hardware.nix ./lab diff --git a/sys/machines/hopper/lab/default.nix b/sys/machines/hopper/lab/default.nix index 76b1d7d..22ed04e 100644 --- a/sys/machines/hopper/lab/default.nix +++ b/sys/machines/hopper/lab/default.nix @@ -15,6 +15,7 @@ ./transmission.nix ./vaultwarden.nix ./vpn-namespace.nix + ./minecraft.nix ]; users.groups.media = {}; diff --git a/sys/machines/hopper/lab/minecraft.nix b/sys/machines/hopper/lab/minecraft.nix new file mode 100644 index 0000000..f5435b3 --- /dev/null +++ b/sys/machines/hopper/lab/minecraft.nix @@ -0,0 +1,47 @@ +{ + inputs, + pkgs, + ... +}: { + services.minecraft-servers = { + enable = true; + eula = true; + openFirewall = true; + servers.owo = { + enable = true; + package = inputs.nix-minecraft.legacyPackages.${pkgs.system}.fabricServers.fabric-1_21_5; + serverProperties = { + max-players = 5; + motd = "owo"; + difficulty = "normal"; + allow-flight = true; + view-distance = 16; + }; + jvmOpts = "-Xms1024M -Xmx4096M"; + symlinks.mods = pkgs.linkFarmFromDrvs "mods" ( + builtins.attrValues { + Fabric-API = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/hBmLTbVB/fabric-api-0.121.0%2B1.21.5.jar"; + hash = "sha256-GbKETZqAN5vfXJF0yNgwTiogDAI434S3Rj9rZw6B53E="; + }; + Lithium = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/VWYoZjBF/lithium-fabric-0.16.2%2Bmc1.21.5.jar"; + hash = "sha256-XqvnQxASa4M0l3JJxi5Ej6TMHUWgodOmMhwbzWuMYGg="; + }; + FerriteCore = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/uXXizFIs/versions/CtMpt7Jr/ferritecore-8.0.0-fabric.jar"; + hash = "sha256-K5C/AMKlgIw8U5cSpVaRGR+HFtW/pu76ujXpxMWijuo="; + }; + C2ME = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/VSNURh3q/versions/VEjpHAOG/c2me-fabric-mc1.21.5-0.3.2%2Brc.1.0.jar"; + hash = "sha256-D7Ho8N4vZwHeacmfNe8YMcxsQCSlyNWFsxOp2b+vujE="; + }; + Krypton = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/fQEb0iXm/versions/neW85eWt/krypton-0.2.9.jar"; + hash = "sha256-uGYia+H2DPawZQxBuxk77PMKfsN8GEUZo3F1zZ3MY6o="; + }; + } + ); + }; + }; +}