Compare commits

...

5 commits

Author SHA1 Message Date
6ba11eb46f
open mc vc port 2026-02-19 23:25:47 +01:00
a56c2bb160
clean up mc server stuff 2026-02-19 23:25:06 +01:00
671a2c0dce
fix mc server completely 2026-02-19 23:24:07 +01:00
f3afcb060b
update and run mc modpack on server :> 2026-02-19 20:09:04 +01:00
ad6cc085f4
comment out battery percentage thing in bar 2026-02-19 18:38:26 +01:00
10 changed files with 206 additions and 95 deletions

144
flake.lock generated
View file

@ -142,11 +142,11 @@
]
},
"locked": {
"lastModified": 1768923567,
"narHash": "sha256-GVJ0jKsyXLuBzRMXCDY6D5J8wVdwP1DuQmmvYL/Vw/Q=",
"lastModified": 1771469470,
"narHash": "sha256-GnqdqhrguKNN3HtVfl6z+zbV9R9jhHFm3Z8nu7R6ml0=",
"owner": "nix-community",
"repo": "disko",
"rev": "00395d188e3594a1507f214a2f15d4ce5c07cb28",
"rev": "4707eec8d1d2db5182ea06ed48c820a86a42dc13",
"type": "github"
},
"original": {
@ -163,11 +163,11 @@
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1769054619,
"narHash": "sha256-LCc0gbSgjehdy41Gi1H5WNxEuW9PtRHFVaPXoFzslQU=",
"lastModified": 1771494902,
"narHash": "sha256-G2yfLhPTuW4nSQCWdXzqknm9uop7OR+zQuoGll5rxLA=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "6509620630f68dc02ac3e99f15a67760778444ff",
"rev": "07b71eb895d1f977c763899b985ee4980412dc57",
"type": "gitlab"
},
"original": {
@ -232,11 +232,11 @@
]
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
@ -250,11 +250,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
@ -272,11 +272,11 @@
]
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
@ -343,24 +343,6 @@
}
},
"flake-utils_2": {
"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_3": {
"inputs": {
"systems": "systems_5"
},
@ -415,11 +397,11 @@
},
"hardware": {
"locked": {
"lastModified": 1769086393,
"narHash": "sha256-3ymIZ8s3+hu7sDl/Y48o6bwMxorfKrmn97KuWiw1vjY=",
"lastModified": 1771423359,
"narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "9f7ba891ea5fc3ededd7804f1a23fafadbcb26ca",
"rev": "740a22363033e9f1bb6270fbfb5a9574067af15b",
"type": "github"
},
"original": {
@ -456,11 +438,11 @@
]
},
"locked": {
"lastModified": 1769102673,
"narHash": "sha256-/qvRFjn1s3bIJdSKG6IpaE6ML3j9anQKUqGhmt4Qe+E=",
"lastModified": 1771519029,
"narHash": "sha256-H59Qf82wv5kBXVoyXsmUKW+9J3o8FqgY4uKaLdsLdLg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b0491fe55680bd19be8e74847969dad9d7784658",
"rev": "167e0b6837115e672ec5f58e2b0ea39093abe807",
"type": "github"
},
"original": {
@ -496,11 +478,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1768941735,
"narHash": "sha256-OyxsfXNcOkt06/kM+4bnuC8moDx+t7Qr+RB0BBa83Ig=",
"lastModified": 1769548169,
"narHash": "sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "69ecf31e8fddc9354a4b418f3a517445d486bb54",
"rev": "7b1d382faf603b6d264f58627330f9faa5cba149",
"type": "github"
},
"original": {
@ -519,11 +501,11 @@
]
},
"locked": {
"lastModified": 1769040284,
"narHash": "sha256-zgZfWwXyL9EDqkTEk0y7hB2wUrsNhpTjoVZpmGa3VHw=",
"lastModified": 1771459510,
"narHash": "sha256-ZlLdKt0MpgzPIjBraJvKDdy62wj2ffLllMgZNLUjxsM=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "ce27c2327ff2e41f79aa0b5933b931708d6f6804",
"rev": "93414035e92a7ebc016b2931af9b7ffb01d398ba",
"type": "github"
},
"original": {
@ -535,11 +517,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1768992167,
"narHash": "sha256-pCe5bvBt8VYF/IrDY2RDmA0412YR5Uq0kbYRp/zBI4g=",
"lastModified": 1771458370,
"narHash": "sha256-rtLD1cwnEGPNQdGpZClJJZfcuWJl3pNYKaaoIhbVMd0=",
"owner": "neovim",
"repo": "neovim",
"rev": "25ce44845d2adf94dfc91c70eb792a50d8274aa1",
"rev": "ac84a3f3b6eebd4b3ba426b2d60a99204b05f436",
"type": "github"
},
"original": {
@ -556,11 +538,11 @@
]
},
"locked": {
"lastModified": 1768874893,
"narHash": "sha256-1WCbVm2Dqqb+HEuahu06l8lQ393P8jIAHEjM3jhm4gc=",
"lastModified": 1771504976,
"narHash": "sha256-E6vYsfrmSugowvC30inu7cpChPXYl68Sjs+p7/3ZitY=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "12c404b997930a1fe8ffcaa231f85fd8ebc6338a",
"rev": "06154d726ba4eb01c9b2d18edcc3d2476c83d3bc",
"type": "github"
},
"original": {
@ -576,11 +558,11 @@
]
},
"locked": {
"lastModified": 1765267181,
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
"lastModified": 1771130777,
"narHash": "sha256-UIKOwG0D9XVIJfNWg6+gENAvQP+7LO46eO0Jpe+ItJ0=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
"rev": "efec7aaad8d43f8e5194df46a007456093c40f88",
"type": "github"
},
"original": {
@ -592,17 +574,17 @@
"nix-minecraft": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1768962252,
"narHash": "sha256-HyWOOHcySV8rl36gs4+n0sxPinxpwWOgwXibfFPYeZ0=",
"lastModified": 1771469368,
"narHash": "sha256-yGRHre2BINQJBDAyUwxyzvgAce22J4pNdpLS8roo6fY=",
"owner": "Infinidoge",
"repo": "nix-minecraft",
"rev": "433cf697394104123e1fd02fa689534ac1733bfa",
"rev": "a708458be9b9421e377c54d86807d3490db53816",
"type": "github"
},
"original": {
@ -617,11 +599,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1768840529,
"narHash": "sha256-e22ou8nikeThx9x9/y29VdMEW4Fm7DBzlhp9ndDJUGE=",
"lastModified": 1771243519,
"narHash": "sha256-oeHgjE5GpACBjDeXrTczIl6cKmHltLbk7inNSMgGFFQ=",
"owner": "nix-community",
"repo": "nixos-wsl",
"rev": "b8e9a758fa2e08d8ac5c3be5d4b1fcc92fd3ce84",
"rev": "a2cb8eeecfbf4a1ce0083e6a32680b1bec8b045c",
"type": "github"
},
"original": {
@ -648,11 +630,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"lastModified": 1769909678,
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"rev": "72716169fe93074c333e8d0173151350670b824c",
"type": "github"
},
"original": {
@ -678,11 +660,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"lastModified": 1770019141,
"narHash": "sha256-VKS4ZLNx4PNrABoB0L8KUpc1fE7CLpQXQs985tGfaCU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"rev": "cb369ef2efd432b3cdf8622b0ffc0a97a02f3137",
"type": "github"
},
"original": {
@ -694,11 +676,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1769018530,
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
},
"original": {
@ -741,11 +723,11 @@
]
},
"locked": {
"lastModified": 1769111606,
"narHash": "sha256-oWQSTDeEfdHQccVtOOIoaLM/wVTrpmscgIeHVWz9p4c=",
"lastModified": 1771523465,
"narHash": "sha256-8uRhbSmeUcH3mC13BEyKUxM+a7nHIvIfZF3da5tXfeM=",
"owner": "xunuwu",
"repo": "nvim-config",
"rev": "cd11d2167f061c630264f5d30a30634763f0a7d2",
"rev": "1e2e80774f0a8d9d1b484af42413f11e989ddaf4",
"type": "github"
},
"original": {
@ -849,11 +831,11 @@
]
},
"locked": {
"lastModified": 1768863606,
"narHash": "sha256-1IHAeS8WtBiEo5XiyJBHOXMzECD6aaIOJmpQKzRRl64=",
"lastModified": 1771166946,
"narHash": "sha256-UFc4lfGBr+wJmwgDGJDn1cVD6DTr0/8TdronNUiyXlU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "c7067be8db2c09ab1884de67ef6c4f693973f4a2",
"rev": "2d0cf89b4404529778bc82de7e42b5754e0fe4fa",
"type": "github"
},
"original": {
@ -883,11 +865,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1768744881,
"narHash": "sha256-3+h7OxqfrPIB/tRsiZXWE9sCbTm7NQN5Ie428p+S6BA=",
"lastModified": 1771428844,
"narHash": "sha256-rTzo6bZEsdT7yHUZ0B4BYe32XQZzm8SiWKvWLJnxerE=",
"owner": "nix-community",
"repo": "stylix",
"rev": "06684f00cfbee14da96fd4307b966884de272d3a",
"rev": "801843d10e9e22d7a00f660d069e2de70aa2980a",
"type": "github"
},
"original": {
@ -1088,7 +1070,7 @@
"wayland-appusage": {
"inputs": {
"crane": "crane_3",
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]

View file

@ -7,7 +7,7 @@
programs.waybar = {
enable = true;
package = pkgs.waybar.overrideAttrs (final: prev: {
patches = [./waybar-workspace.patch];
# patches = [./waybar-workspace.patch];
});
settings = [
{
@ -32,11 +32,11 @@
"sway/window" = {
max-length = 80;
};
"custom/miao-battery-percentage" = {
return-type = "json";
exec = "${lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.miao-battery-percentage}";
restart-interval = "60";
};
# "custom/miao-battery-percentage" = {
# return-type = "json";
# exec = "${lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.miao-battery-percentage}";
# restart-interval = "60";
# };
"custom/keyboard-state" = {
return-type = "json";
exec = "${lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.keyboard-state}";

View file

@ -70,6 +70,7 @@
};
"/home" = {
device = "/dev/disk/by-uuid/1297e638-f2ff-49a2-a362-314ac7eeaabc";
neededForBoot = true;
fsType = "btrfs";
options = ["subvol=home" "compress=zstd"];
};

View file

@ -0,0 +1,13 @@
name = "Create Ultimate Selection 2 Create Quests | Create Addons [1.21.1]"
filename = "Create Ultimate Selection 2 MC 1.21.1-5.2.0.zip"
side = "both"
[download]
hash-format = "sha1"
hash = "f1bb7067d9a58492d1634d0ff5f15bee68ed1f7b"
mode = "metadata:curseforge"
[update]
[update.curseforge]
file-id = 7634594
project-id = 1324409

View file

@ -0,0 +1,6 @@
hash-format = "sha256"
[[files]]
file = "create-ultimate-selection-2.pw.toml"
hash = "9ab2c65f33afcf236a0f406422cc1a6b7c6989f7da57a49f967699259d6e4e3e"
metafile = true

View file

@ -0,0 +1,12 @@
name = "Packwiz Create Ultimate Selection"
version = "1.0.0"
pack-format = "packwiz:1.1.0"
[index]
file = "index.toml"
hash-format = "sha256"
hash = "c1e5db361e3f6a0150a60e69742ea490985603d455146b1498075cfb2f718a55"
[versions]
minecraft = "1.21.1"
neoforge = "21.1.219"

View file

@ -2,13 +2,109 @@
inputs,
pkgs,
...
}: {
}: let
modpackZip = pkgs.fetchurl {
url = "https://git.xunuwu.xyz/xun/nixos-config/releases/download/create-ultimate-thing-full/Create%20Ultimate%20Selection%202%20Serverpack%20MC%201.21.1-5.3.0.zip";
name = "Create Ultimate Selection 2 MC 1.21.1-5.3.0.zip";
hash = "sha256-xDChlZWivNNjYnmSCUIyrxfvqXAHrbvql7jyEDvVXvA=";
};
neoforge = inputs.nix-minecraft.legacyPackages.${pkgs.stdenv.hostPlatform.system}.neoforgeServers.neoforge-1_21_1;
serverPackage = pkgs.stdenv.mkDerivation {
name = "minecraft-createpack-server";
nativeBuildInputs = [pkgs.unzip];
dontUnpack = true;
installPhase = ''
mkdir -p $out
cp -r ${neoforge}/* $out/
unzip ${modpackZip} -d temp
cp -r temp/* $out/ 2>/dev/null || true
rm -rf temp
'';
};
in {
users.users.minecraft-createpack = {
isSystemUser = true;
group = "minecraft-createpack";
};
users.groups.minecraft-createpack = {};
networking.firewall.allowedTCPPorts = [25565];
networking.firewall.allowedUDPPorts = [24454];
systemd.tmpfiles.rules = [
"d /srv/minecraft 0755 root root - -"
"d /srv/minecraft/createpack 0770 minecraft-createpack minecraft-createpack - -"
"Z /srv/minecraft/createpack - minecraft-createpack minecraft-createpack - -"
];
systemd.services.minecraft-createpack = {
description = "Minecraft Create Ultimate Selection 2 Server";
wantedBy = ["multi-user.target"];
after = ["network.target"];
serviceConfig = {
User = "minecraft-createpack";
Group = "minecraft-createpack";
WorkingDirectory = "/srv/minecraft/createpack";
Restart = "always";
RestartSec = "5s";
ExecStart = ''
${pkgs.jdk21}/bin/java \
@user_jvm_args.txt \
@libraries/net/neoforged/neoforge/21.1.219/unix_args.txt \
nogui
'';
};
preStart = ''
set -euo pipefail
echo "=== minecraft-createpack preStart ==="
for dir in world logs crash-reports backups screenshots; do
if [ -d "$dir" ]; then
mv "$dir" "../$dir-tmp" 2>/dev/null || true
fi
done
${pkgs.rsync}/bin/rsync -a --delete \
--exclude='world' --exclude='logs' --exclude='crash-reports' \
--exclude='backups' --exclude='screenshots' \
--exclude='user_jvm_args.txt' --exclude='server.properties' --exclude='eula.txt' \
${serverPackage}/ ./
for dir in world logs crash-reports backups screenshots; do
if [ -d "../$dir-tmp" ]; then
mv "../$dir-tmp" "$dir"
fi
done
chown -R minecraft-createpack:minecraft-createpack .
chmod -R u+rwX .
echo "eula=true" > eula.txt
cat > server.properties <<'EOF'
motd=createpack!!
max-players=5
difficulty=normal
allow-flight=true
view-distance=16
EOF
cat > user_jvm_args.txt <<'EOF'
-Xms1024M
-Xmx6144M
EOF
echo "=== preStart finished ==="
'';
};
services.minecraft-servers = {
enable = true;
enable = false;
eula = true;
openFirewall = true;
managementSystem.systemd-socket.enable = true;
servers.owo = {
enable = true;
enable = false;
package = inputs.nix-minecraft.legacyPackages.${pkgs.stdenv.hostPlatform.system}.fabricServers.fabric-1_21_5;
serverProperties = {
max-players = 5;

View file

@ -7,10 +7,10 @@
services.navidrome = {
enable = true;
package = pkgs.navidrome.overrideAttrs {
patches = [./scrobbleAlbumArtist.patch];
doCheck = false;
};
# package = pkgs.navidrome.overrideAttrs {
# patches = [./scrobbleAlbumArtist.patch];
# doCheck = false;
# };
settings = {
MusicFolder = "/media/library/music";
Address = config.vpnNamespaces."wg".bridgeAddress;

View file

@ -132,6 +132,7 @@
"rider"
"clion"
"idea-ultimate"
"android-studio"
"android-studio-stable"
"krunker"
];

View file

@ -4,7 +4,7 @@
man.generateCaches = false; # this does slow down builds by quite a lot
};
environment.systemPackages = with pkgs; [
linux-manual
# linux-manual
man-pages
man-pages-posix
];