update
This commit is contained in:
parent
2738484715
commit
591030445a
@ -19,6 +19,13 @@
|
||||
./services/minecraft.nix
|
||||
];
|
||||
|
||||
systemd.targets = {
|
||||
sleep.enable = false;
|
||||
suspend.enable = false;
|
||||
hibernate.enable = false;
|
||||
hybrid-sleep.enable = false;
|
||||
};
|
||||
|
||||
nix = {
|
||||
#garbage collection and cleanup stuff
|
||||
gc = {
|
||||
@ -113,6 +120,11 @@
|
||||
intel-gpu-tools
|
||||
|
||||
tmux
|
||||
|
||||
(pkgs.writeScriptBin "mc-attach" ''
|
||||
#!/bin/sh
|
||||
tmux -S /run/minecraft/${service_configs.minecraft.server_name}.sock attach
|
||||
'')
|
||||
];
|
||||
|
||||
services.zfs = {
|
||||
|
||||
6
flake.lock
generated
6
flake.lock
generated
@ -43,11 +43,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727574772,
|
||||
"narHash": "sha256-bPoftKOe6oWR2o5jgLQjmaBNH2ke7+ooDGxlXXIjsBc=",
|
||||
"lastModified": 1727660955,
|
||||
"narHash": "sha256-993wM0FpCGf6V3MuHbooj7By3Jd6v/Skb7GYou9cNAI=",
|
||||
"owner": "Infinidoge",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "5ce4fc09d6fcf0b9d801ff3c98da83c56d85e045",
|
||||
"rev": "e13f816e5bd0612b68568b04a66b1a5a36566549",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
23
flake.nix
23
flake.nix
@ -4,8 +4,10 @@
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
# nixpkgs.url = "github:NixOS/nixpkgs/master";
|
||||
|
||||
quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
|
||||
quadlet-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||
nix-minecraft.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
@ -24,6 +26,7 @@
|
||||
|
||||
service_configs = {
|
||||
hdd_path = "/mnt/hdd";
|
||||
services_dir = "/tank/services";
|
||||
|
||||
# TODO: add checks to make sure none of these collide
|
||||
ports = {
|
||||
@ -36,12 +39,12 @@
|
||||
};
|
||||
|
||||
https = {
|
||||
certs = "/tank/services/http_certs";
|
||||
data_dir = "/tank/services/http";
|
||||
certs = service_configs.services_dir + "/http_certs";
|
||||
data_dir = service_configs.services_dir + "/http";
|
||||
};
|
||||
|
||||
gitea = {
|
||||
dir = "/tank/services/gitea";
|
||||
dir = service_configs.services_dir + "/gitea";
|
||||
};
|
||||
|
||||
postgres = {
|
||||
@ -49,26 +52,26 @@
|
||||
};
|
||||
|
||||
immich = {
|
||||
dir = "/tank/services/immich";
|
||||
dir = service_configs.services_dir + "/immich";
|
||||
};
|
||||
|
||||
minecraft = {
|
||||
parent_dir = "/tank/services/minecraft";
|
||||
parent_dir = service_configs.services_dir + "/minecraft";
|
||||
server_name = "main";
|
||||
};
|
||||
|
||||
gluetun = {
|
||||
dir = "/tank/services/gluetun";
|
||||
dir = service_configs.services_dir + "/gluetun";
|
||||
};
|
||||
|
||||
torrent = {
|
||||
config_dir = "/tank/services/qbittorrent/config";
|
||||
download_dir = "${service_configs.hdd_path}/torrents";
|
||||
config_dir = service_configs.services_dir + "/qbittorrent/config";
|
||||
download_dir = service_configs.hdd_path + "/torrents";
|
||||
};
|
||||
|
||||
jellyfin = {
|
||||
data_dir = "/tank/services/jellyfin";
|
||||
cache_dir = "/tank/services/jellyfin_cache";
|
||||
data_dir = service_configs.services_dir + "/jellyfin";
|
||||
cache_dir = service_configs.services_dir + "/jellyfin_cache";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
service_configs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
type = "postgres";
|
||||
socket = service_configs.postgres.socket;
|
||||
};
|
||||
|
||||
settings = {
|
||||
server = {
|
||||
DOMAIN = "git.gardling.com";
|
||||
|
||||
@ -14,16 +14,22 @@ in
|
||||
"minecraft-server"
|
||||
];
|
||||
|
||||
users.groups.minecraft = {};
|
||||
|
||||
services.minecraft-servers = {
|
||||
enable = true;
|
||||
eula = true;
|
||||
dataDir = service_configs.minecraft.parent_dir;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
|
||||
servers.${service_configs.minecraft.server_name} = {
|
||||
enable = true;
|
||||
package = pkgs.fabricServers.fabric-1_21_1;
|
||||
|
||||
# Aikar's flags
|
||||
jvmOpts = "-Xmx${heap_size} -Xms${heap_size} -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:G1HeapWastePercent=5 -XX:G1MaxNewSizePercent=40 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1NewSizePercent=30 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -XX:MaxGCPauseMillis=200 -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=32";
|
||||
|
||||
serverProperties = {
|
||||
server-port = service_configs.ports.minecraft;
|
||||
enforce-whitelist = true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user