Compare commits
1 Commits
bluemap-us
...
gitea-vask
| Author | SHA1 | Date | |
|---|---|---|---|
|
bd5cb05ecf
|
38
flake.lock
generated
38
flake.lock
generated
@@ -102,6 +102,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"minecraft-data": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725277886,
|
||||||
|
"narHash": "sha256-Fw4VbbE3EfypQWSgPDFfvVH47BHeg3ptsO715NlUM8Q=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "1b4087bd3322a2e2ba84271c8fcc013e6b641a58",
|
||||||
|
"revCount": 2,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.pvv.ntnu.no/Projects/minecraft-kartverket.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.pvv.ntnu.no/Projects/minecraft-kartverket.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
"minecraft-heatmap": {
|
"minecraft-heatmap": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -122,27 +137,6 @@
|
|||||||
"url": "https://git.pvv.ntnu.no/Projects/minecraft-heatmap.git"
|
"url": "https://git.pvv.ntnu.no/Projects/minecraft-heatmap.git"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minecraft-kartverket": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762856548,
|
|
||||||
"narHash": "sha256-HA7z6QH4vLUWSj1Ff7lIfdbBUPrC56Qq4gWBClfxuqc=",
|
|
||||||
"ref": "rewrite-in-python",
|
|
||||||
"rev": "85b20b636d0afb64fa60323ee2406f1ae059d6c1",
|
|
||||||
"revCount": 13,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.pvv.ntnu.no/Projects/minecraft-kartverket.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"ref": "rewrite-in-python",
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.pvv.ntnu.no/Projects/minecraft-kartverket.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-gitea-themes": {
|
"nix-gitea-themes": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -236,8 +230,8 @@
|
|||||||
"greg-ng": "greg-ng",
|
"greg-ng": "greg-ng",
|
||||||
"grzegorz-clients": "grzegorz-clients",
|
"grzegorz-clients": "grzegorz-clients",
|
||||||
"matrix-next": "matrix-next",
|
"matrix-next": "matrix-next",
|
||||||
|
"minecraft-data": "minecraft-data",
|
||||||
"minecraft-heatmap": "minecraft-heatmap",
|
"minecraft-heatmap": "minecraft-heatmap",
|
||||||
"minecraft-kartverket": "minecraft-kartverket",
|
|
||||||
"nix-gitea-themes": "nix-gitea-themes",
|
"nix-gitea-themes": "nix-gitea-themes",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
|||||||
@@ -33,8 +33,7 @@
|
|||||||
grzegorz-clients.url = "git+https://git.pvv.ntnu.no/Grzegorz/grzegorz-clients.git";
|
grzegorz-clients.url = "git+https://git.pvv.ntnu.no/Grzegorz/grzegorz-clients.git";
|
||||||
grzegorz-clients.inputs.nixpkgs.follows = "nixpkgs";
|
grzegorz-clients.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
minecraft-kartverket.url = "git+https://git.pvv.ntnu.no/Projects/minecraft-kartverket.git?ref=rewrite-in-python";
|
minecraft-data.url = "git+https://git.pvv.ntnu.no/Projects/minecraft-kartverket.git";
|
||||||
minecraft-kartverket.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixpkgs-unstable, sops-nix, disko, ... }@inputs:
|
outputs = { self, nixpkgs, nixpkgs-unstable, sops-nix, disko, ... }@inputs:
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
let
|
let
|
||||||
vanillaSurvival = "/var/lib/bluemap/vanilla_survival_world";
|
vanillaSurvival = "/var/lib/bluemap/vanilla_survival_world";
|
||||||
format = pkgs.formats.hocon { };
|
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./module.nix # From danio, pending upstreaming
|
./module.nix # From danio, pending upstreaming
|
||||||
@@ -15,24 +14,20 @@ in {
|
|||||||
services.bluemap = {
|
services.bluemap = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.callPackage ./package.nix { };
|
package = pkgs.callPackage ./package.nix { };
|
||||||
|
|
||||||
eula = true;
|
eula = true;
|
||||||
onCalendar = "*-*-* 05:45:00"; # a little over an hour after auto-upgrade
|
onCalendar = "*-*-* 05:45:00"; # a little over an hour after auto-upgrade
|
||||||
|
|
||||||
host = "minecraft.pvv.ntnu.no";
|
host = "minecraft.pvv.ntnu.no";
|
||||||
|
|
||||||
maps = let
|
maps = {
|
||||||
inherit (inputs.minecraft-kartverket.packages.${pkgs.hostPlatform.system}) bluemap-export;
|
|
||||||
in {
|
|
||||||
"verden" = {
|
"verden" = {
|
||||||
settings = {
|
settings = {
|
||||||
world = vanillaSurvival;
|
world = vanillaSurvival;
|
||||||
sorting = 0;
|
sorting = 0;
|
||||||
ambient-light = 0.1;
|
ambient-light = 0.1;
|
||||||
cave-detection-ocean-floor = -5;
|
cave-detection-ocean-floor = -5;
|
||||||
marker-sets = {
|
marker-sets = inputs.minecraft-data.map-markers.vanillaSurvival.verden;
|
||||||
_includes = [ (format.lib.mkInclude "${bluemap-export}/overworld.hocon") ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"underverden" = {
|
"underverden" = {
|
||||||
@@ -47,9 +42,7 @@ in {
|
|||||||
cave-detection-ocean-floor = -5;
|
cave-detection-ocean-floor = -5;
|
||||||
cave-detection-uses-block-light = true;
|
cave-detection-uses-block-light = true;
|
||||||
max-y = 90;
|
max-y = 90;
|
||||||
marker-sets = {
|
marker-sets = inputs.minecraft-data.map-markers.vanillaSurvival.underverden;
|
||||||
_includes = [ (format.lib.mkInclude "${bluemap-export}/nether.hocon") ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"enden" = {
|
"enden" = {
|
||||||
@@ -62,9 +55,6 @@ in {
|
|||||||
world-sky-light = 0;
|
world-sky-light = 0;
|
||||||
remove-caves-below-y = -10000;
|
remove-caves-below-y = -10000;
|
||||||
cave-detection-ocean-floor = -5;
|
cave-detection-ocean-floor = -5;
|
||||||
marker-sets = {
|
|
||||||
_includes = [ (format.lib.mkInclude "${bluemap-export}/the-end.hocon") ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ in {
|
|||||||
./customization
|
./customization
|
||||||
./gpg.nix
|
./gpg.nix
|
||||||
./import-users
|
./import-users
|
||||||
|
./vaskepersonalet.nix
|
||||||
./web-secret-provider
|
./web-secret-provider
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
59
hosts/kommode/services/gitea/vaskepersonalet.nix
Normal file
59
hosts/kommode/services/gitea/vaskepersonalet.nix
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.services.gitea;
|
||||||
|
cacheDir = "/var/cache/${config.systemd.services.gitea.serviceConfig.CacheDirectory}";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
systemd.services."gitea-vaskepersonalet" = {
|
||||||
|
description = "yeeet";
|
||||||
|
startAt = "hourly";
|
||||||
|
|
||||||
|
serviceConfig = rec {
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
|
||||||
|
RuntimeDirectory = "gitea-vaskepersonalet";
|
||||||
|
RootDirectory = "/run/${RuntimeDirectory}";
|
||||||
|
|
||||||
|
BindPaths = [
|
||||||
|
builtins.storeDir
|
||||||
|
cacheDir
|
||||||
|
cfg.dump.backupDir
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
script = let
|
||||||
|
percentageLimit = 80;
|
||||||
|
in ''
|
||||||
|
USED=$(df --output=pcent '${cacheDir}' | grep '[0-9]' | tr -d '%')
|
||||||
|
if [[ $USED -lt ${toString percentageLimit} ]]; then exit 0; fi
|
||||||
|
|
||||||
|
echo "omg omg, we're running out of space, imma yeet the cache"
|
||||||
|
|
||||||
|
rm -rf '${cacheDir}'/*
|
||||||
|
echo "yeetus deletus"
|
||||||
|
|
||||||
|
USED=$(df --output=pcent '${cacheDir}' | grep '[0-9]' | tr -d '%')
|
||||||
|
if [[ $USED -lt ${toString percentageLimit} ]]; then exit 0; fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "bruh, still low on space, yeeting old backups"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# tail -n+2 ensure we keep at least one backup.
|
||||||
|
for file in $(ls -t1 '${cfg.dump.backupDir}' | sort --reverse | tail -n+2); do
|
||||||
|
echo "> Chose $file"
|
||||||
|
echo "> Do you really want to release this pokemon? [Y/n] Y"
|
||||||
|
rm "$file"
|
||||||
|
echo "> ..."
|
||||||
|
echo "> The pokemon was released back into the wild"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
USED=$(df --output=pcent '${cacheDir}' | grep '[0-9]' | tr -d '%')
|
||||||
|
if [[ $USED -lt ${toString percentageLimit} ]]; then exit 0; fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "No way, we're still out of space? Not my problem anymore"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user