mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-25 17:46:14 +01:00
Add new Minecraft modules and containers
Signed-off-by: Magic_RB <magic_rb@redalder.org>
This commit is contained in:
parent
74d928eb7e
commit
5d516e080b
|
@ -999,8 +999,8 @@
|
||||||
"secret": {
|
"secret": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689425916,
|
"lastModified": 1689698765,
|
||||||
"narHash": "sha256-lQbVxpynVJa9PMIACISoo1TCWbjF5zy4OXqB+lXWE34=",
|
"narHash": "sha256-K1mWUDZ4MTzHLf2xB59TgNRj/IzbNed/6uaglXJzF2o=",
|
||||||
"path": "/home/main/dotfiles2/secret",
|
"path": "/home/main/dotfiles2/secret",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
|
|
|
@ -71,6 +71,8 @@
|
||||||
nixng/containers/gitea
|
nixng/containers/gitea
|
||||||
nixng/containers/hydra
|
nixng/containers/hydra
|
||||||
nixng/containers/syncthing
|
nixng/containers/syncthing
|
||||||
|
nixng/containers/minecraft/vanilla
|
||||||
|
nixng/containers/minecraft/ftb-infinity
|
||||||
|
|
||||||
overlays/udp-over-tcp.nix
|
overlays/udp-over-tcp.nix
|
||||||
overlays/emacsclient-remote
|
overlays/emacsclient-remote
|
||||||
|
|
28
nixng/containers/minecraft/ftb-infinity/default.nix
Normal file
28
nixng/containers/minecraft/ftb-infinity/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixngConfigurations.minecraft-ftb-infinity = inputs.nixng.nglib.makeSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
name = "nixng-minecraft";
|
||||||
|
inherit (inputs) nixpkgs;
|
||||||
|
config =
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
disabledModules = [ "${inputs.nixng}/modules/services/minecraft.nix" ];
|
||||||
|
imports = [ ../../../modules/minecraft-forge.nix ../../../modules/minecraft.nix ];
|
||||||
|
dumb-init = {
|
||||||
|
enable = true;
|
||||||
|
type.services = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.minecraft.forge = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
modpackId = 23;
|
||||||
|
versionId = 99;
|
||||||
|
modpacksChHash = "sha256-wlOcy+Ju81WxJ/z14rslMy3WH+wQdcIZylT7Z3qqJpQ=";
|
||||||
|
|
||||||
|
eulaAccept = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
27
nixng/containers/minecraft/vanilla/default.nix
Normal file
27
nixng/containers/minecraft/vanilla/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixngConfigurations.minecraft-vanilla = inputs.nixng.nglib.makeSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
name = "nixng-minecraft";
|
||||||
|
inherit (inputs) nixpkgs;
|
||||||
|
config =
|
||||||
|
{ pkgs, lib, nglib, ... }:
|
||||||
|
{
|
||||||
|
disabledModules = [ "${inputs.nixng}/modules/services/minecraft.nix" ];
|
||||||
|
imports = [ ../../../modules/minecraft-forge.nix ../../../modules/minecraft.nix ];
|
||||||
|
dumb-init = {
|
||||||
|
enable = true;
|
||||||
|
type.services = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.minecraft.vanilla = {
|
||||||
|
enable = true;
|
||||||
|
eulaAccept = true;
|
||||||
|
extraJavaArguments = [
|
||||||
|
"-Xmx1024M"
|
||||||
|
"-Xms1024M"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
162
nixng/modules/minecraft-forge.nix
Normal file
162
nixng/modules/minecraft-forge.nix
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.minecraft.forge;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.minecraft.forge = {
|
||||||
|
enable = mkEnableOption "Enable Minecraft server service.";
|
||||||
|
|
||||||
|
modpackId = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
};
|
||||||
|
|
||||||
|
versionId = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
};
|
||||||
|
|
||||||
|
modpacksChHash = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
};
|
||||||
|
|
||||||
|
serverPackage = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
readOnly = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
eulaAccept = mkOption {
|
||||||
|
type = with types; bool;
|
||||||
|
description = ''
|
||||||
|
By changing the setting below to true you are indicating your agreement to Mojang's EULA (https://account.mojang.com/documents/minecraft_eula).
|
||||||
|
'';
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraJavaArguments = mkOption {
|
||||||
|
type = with types; listOf str;
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
services.minecraft.forge.serverPackage =
|
||||||
|
let
|
||||||
|
forgeFod =
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "minecraft";
|
||||||
|
version = "unknown";
|
||||||
|
|
||||||
|
outputHashMode = "recursive";
|
||||||
|
outputHashAlgo = "sha256";
|
||||||
|
outputHash = cfg.modpacksChHash;
|
||||||
|
|
||||||
|
buildInputs = with pkgs; [ unzip curl which cacert ];
|
||||||
|
|
||||||
|
phases = [ "fetchPhase" "installPhase" "fixupPhase "];
|
||||||
|
|
||||||
|
fetchPhase = ''
|
||||||
|
curl https://api.modpacks.ch/public/modpack/${toString cfg.modpackId}/${toString cfg.versionId}/server/linux -o modpacks.ch # fuck creeperhost
|
||||||
|
chmod +x modpacks.ch
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
./modpacks.ch ${toString cfg.modpackId} ${toString cfg.versionId} --auto --nojava --path $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
fixupPhase = ''
|
||||||
|
# delete useless non-reproducible data that we really don't need. A less "shotgun" cleaning is possible
|
||||||
|
rm $out/version.json
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "minecraft";
|
||||||
|
version = "unknown";
|
||||||
|
|
||||||
|
phases = [ "installPhase" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
|
||||||
|
cp ${pkgs.writeShellScript "server.sh" ''
|
||||||
|
export PATH=${makeBinPath (with pkgs; [ coreutils findutils bash ])}:$PATH
|
||||||
|
export _path=$PWD
|
||||||
|
echo $0
|
||||||
|
|
||||||
|
echo $rw_paths
|
||||||
|
function linkFile()
|
||||||
|
{
|
||||||
|
_rw_paths=${"( " + lib.concatMapStringsSep " " (x: ''"${x}"'') [ "config" "modpack/gamemodes.json" ] + " )"}
|
||||||
|
_ignore_paths=${"( " + lib.concatMapStringsSep " " (x: ''"${x}"'') [ "start.sh" ] + " )"}
|
||||||
|
|
||||||
|
echo $1 | grep MrTJP
|
||||||
|
|
||||||
|
ignore=0
|
||||||
|
for ignore_path in ''${_ignore_paths[@]} ; do
|
||||||
|
if [ "''${1##ignore_path}" != "$1" ] || [ "$ignore_path" = "$1" ] ; then
|
||||||
|
ignore=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -f "$1" ] || [ $ignore = 1 ] ; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
mkdir -p "$_path/$(dirname "$1")"
|
||||||
|
|
||||||
|
copy=0
|
||||||
|
for rw_path in ''${_rw_paths[@]} ; do
|
||||||
|
if [ "''${1##$rw_path}" != "$1" ] || [ "$rw_path" = "$1" ] ; then
|
||||||
|
copy=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$copy" = 1 ] ; then
|
||||||
|
cp --no-preserve=mode,ownership "${forgeFod}/$1" "$_path/$1"
|
||||||
|
else
|
||||||
|
ln -s "${forgeFod}/$1" "$_path/$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
export -f linkFile
|
||||||
|
|
||||||
|
echo $_path
|
||||||
|
if [ "$_path" = "" ] || ! [ -d "$_path" ] ; then
|
||||||
|
echo "invalid path"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
find $_path -type l -lname '/nix/store/*' -delete
|
||||||
|
find $_path -type d -empty -delete
|
||||||
|
|
||||||
|
find ${forgeFod} -type f -printf '%P\n' | tr '\n' '\0' | xargs -0 -I {} sh -c 'linkFile "$1"' sh {} # mkdir -p "$_path/$(dirname "$1")" ; ln -s "${forgeFod}/$1" "$_path/$1"
|
||||||
|
|
||||||
|
ln -s ${pkgs.writeShellScript "start.sh" ''
|
||||||
|
${lib.getExe pkgs.jdk8} $(cat ${forgeFod}/start.sh | grep -e "java" -e jar | sed 's/^"java" \(.*\) -jar .*$/\1/') "$@" -jar forge-*.jar
|
||||||
|
''} $_path/start.sh
|
||||||
|
|
||||||
|
$_path/start.sh
|
||||||
|
''} $out/bin/server
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
init.services.minecraft-forge = {
|
||||||
|
script = pkgs.writeShellScript "minecraft-run" ''
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
mkdir -p /var/lib/minecraft/forge
|
||||||
|
cd /var/lib/minecraft/forge
|
||||||
|
echo "eula=true" > eula.txt
|
||||||
|
${cfg.serverPackage}/bin/server ${concatMapStringsSep " " (x: ''"${x}"'') cfg.extraJavaArguments}
|
||||||
|
'';
|
||||||
|
enabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
assertions = [
|
||||||
|
{ assertion = cfg.eulaAccept;
|
||||||
|
message = "You must accept the EULA";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
78
nixng/modules/minecraft.nix
Normal file
78
nixng/modules/minecraft.nix
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.minecraft.vanilla;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.minecraft.vanilla = {
|
||||||
|
enable = mkEnableOption "Enable Minecraft server service.";
|
||||||
|
|
||||||
|
serverPackage = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
readOnly = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
eulaAccept = mkOption {
|
||||||
|
type = with types; bool;
|
||||||
|
description = ''
|
||||||
|
By changing the setting below to true you are indicating your agreement to Mojang's EULA (https://account.mojang.com/documents/minecraft_eula).
|
||||||
|
'';
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraJavaArguments = mkOption {
|
||||||
|
type = with types; listOf str;
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
services.minecraft.vanilla.serverPackage =
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "minecraft";
|
||||||
|
version = "unknown";
|
||||||
|
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://piston-data.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar";
|
||||||
|
hash = "sha256-RIsU/6VxKZ7Sk59dgG4dudHhRLcD+ki32Ab0wv00Tik=";
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [ "installPhase" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
|
||||||
|
${lib.getExe pkgs.jdk17} -jar $src --initSettings
|
||||||
|
mkdir -p $out/share
|
||||||
|
cp server.properties $out/share/
|
||||||
|
|
||||||
|
cp ${pkgs.writeShellScript "server.sh" ''
|
||||||
|
[ -f server.properties ] || cp @out@/share/server.properties .
|
||||||
|
${lib.getExe pkgs.jdk17} "$@" -jar @src@
|
||||||
|
''} $out/bin/server
|
||||||
|
substituteInPlace $out/bin/server --subst-var src --subst-var out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
init.services.minecraft-vanilla = {
|
||||||
|
script = pkgs.writeShellScript "minecraft-run" ''
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
mkdir -p /var/lib/minecraft/vanilla
|
||||||
|
cd /var/lib/minecraft/vanilla
|
||||||
|
echo "eula=true" > eula.txt
|
||||||
|
${cfg.serverPackage}/bin/server ${concatMapStringsSep " " (x: ''"${x}"'') cfg.extraJavaArguments}
|
||||||
|
'';
|
||||||
|
enabled = true;
|
||||||
|
shutdownOnExit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
assertions = [
|
||||||
|
{ assertion = cfg.eulaAccept;
|
||||||
|
message = "You must accept the EULA";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -88,6 +88,8 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "21.05";
|
system.stateVersion = "21.05";
|
||||||
|
|
||||||
|
boot.kernel.sysctl."fs.inotify.max_user_instances" = 256;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
24
terranix/containers/minecraft/ftb-infinity/default.nix
Normal file
24
terranix/containers/minecraft/ftb-infinity/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ config', pkgs, elib, vars, ... }:
|
||||||
|
let
|
||||||
|
inherit (elib)
|
||||||
|
nfsVolume
|
||||||
|
nomadJob;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
resource."nomad_volume"."minecraft-ftb-infinity" = nfsVolume {
|
||||||
|
access_mode = "single-node-writer";
|
||||||
|
volume_name = "minecraft-ftb-infinity";
|
||||||
|
server = "blowhole.hosts.in.redalder.org";
|
||||||
|
share = "/mnt/kyle/infrastructure/minecraft/ftb-infinity";
|
||||||
|
mount_flags = [ "hard" "vers=4.2" "rsize=131072" "wsize=131072" "async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
resource."nomad_job"."minecraft-ftb-infinity" = nomadJob {
|
||||||
|
jobspec = ./job.hcl;
|
||||||
|
vars = {
|
||||||
|
flake_ref = "${vars.flake_host}?rev=${vars.flake_rev}&ref=${vars.flake_ref}";
|
||||||
|
flake_sha = vars.flake_sha;
|
||||||
|
store_path = config'.flake.nixngConfigurations.minecraft-ftb-infinity.config.system.build.toplevel;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
62
terranix/containers/minecraft/ftb-infinity/job.hcl
Normal file
62
terranix/containers/minecraft/ftb-infinity/job.hcl
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
variable "flake_ref" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "flake_sha" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "store_path" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
job "minecraft-ftb-infinity" {
|
||||||
|
datacenters = [ "homelab-1" ]
|
||||||
|
type = "service"
|
||||||
|
|
||||||
|
group "minecraft-vanilla" {
|
||||||
|
count = 1
|
||||||
|
|
||||||
|
volume "minecraft-ftb-infinity" {
|
||||||
|
type = "csi"
|
||||||
|
source = "minecraft-ftb-infinity"
|
||||||
|
read_only = false
|
||||||
|
|
||||||
|
attachment_mode = "file-system"
|
||||||
|
access_mode = "single-node-writer"
|
||||||
|
}
|
||||||
|
|
||||||
|
network {
|
||||||
|
mode = "bridge"
|
||||||
|
port "minecraft" {
|
||||||
|
static = 25561
|
||||||
|
to = 25565
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
task "minecraft-ftb-infinity" {
|
||||||
|
driver = "docker"
|
||||||
|
|
||||||
|
config {
|
||||||
|
nix_flake_ref = "${var.flake_ref}#nixngConfigurations.minecraft-ftb-infinity.config.system.build.toplevel"
|
||||||
|
nix_flake_sha = var.flake_sha
|
||||||
|
nix_flake_store_path = var.store_path
|
||||||
|
entrypoint = [ "init" ]
|
||||||
|
|
||||||
|
ports = ["minecraft"]
|
||||||
|
}
|
||||||
|
|
||||||
|
resources {
|
||||||
|
cpu = 2048
|
||||||
|
memory = 4608
|
||||||
|
}
|
||||||
|
|
||||||
|
volume_mount {
|
||||||
|
volume = "minecraft-ftb-infinity"
|
||||||
|
destination = "/var/lib/minecraft/forge"
|
||||||
|
read_only = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
24
terranix/containers/minecraft/vanilla/default.nix
Normal file
24
terranix/containers/minecraft/vanilla/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ config', pkgs, elib, vars, ... }:
|
||||||
|
let
|
||||||
|
inherit (elib)
|
||||||
|
nfsVolume
|
||||||
|
nomadJob;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
resource."nomad_volume"."minecraft-vanilla" = nfsVolume {
|
||||||
|
access_mode = "single-node-writer";
|
||||||
|
volume_name = "minecraft-vanilla";
|
||||||
|
server = "blowhole.hosts.in.redalder.org";
|
||||||
|
share = "/mnt/kyle/infrastructure/minecraft/vanilla";
|
||||||
|
mount_flags = [ "hard" "vers=4.2" "rsize=131072" "wsize=131072" "async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
resource."nomad_job"."minecraft-vanilla" = nomadJob {
|
||||||
|
jobspec = ./job.hcl;
|
||||||
|
vars = {
|
||||||
|
flake_ref = "${vars.flake_host}?rev=${vars.flake_rev}&ref=${vars.flake_ref}";
|
||||||
|
flake_sha = vars.flake_sha;
|
||||||
|
store_path = config'.flake.nixngConfigurations.minecraft-vanilla.config.system.build.toplevel;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
62
terranix/containers/minecraft/vanilla/job.hcl
Normal file
62
terranix/containers/minecraft/vanilla/job.hcl
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
variable "flake_ref" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "flake_sha" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "store_path" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
job "minecraft-vanilla" {
|
||||||
|
datacenters = [ "homelab-1" ]
|
||||||
|
type = "service"
|
||||||
|
|
||||||
|
group "minecraft-vanilla" {
|
||||||
|
count = 1
|
||||||
|
|
||||||
|
volume "minecraft-vanilla" {
|
||||||
|
type = "csi"
|
||||||
|
source = "minecraft-vanilla"
|
||||||
|
read_only = false
|
||||||
|
|
||||||
|
attachment_mode = "file-system"
|
||||||
|
access_mode = "single-node-writer"
|
||||||
|
}
|
||||||
|
|
||||||
|
network {
|
||||||
|
mode = "bridge"
|
||||||
|
port "minecraft" {
|
||||||
|
static = 25560
|
||||||
|
to = 25565
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
task "minecraft-vanilla" {
|
||||||
|
driver = "docker"
|
||||||
|
|
||||||
|
config {
|
||||||
|
nix_flake_ref = "${var.flake_ref}#nixngConfigurations.minecraft-vanilla.config.system.build.toplevel"
|
||||||
|
nix_flake_sha = var.flake_sha
|
||||||
|
nix_flake_store_path = var.store_path
|
||||||
|
entrypoint = [ "init" ]
|
||||||
|
|
||||||
|
ports = ["minecraft"]
|
||||||
|
}
|
||||||
|
|
||||||
|
resources {
|
||||||
|
cpu = 512
|
||||||
|
memory = 1280
|
||||||
|
}
|
||||||
|
|
||||||
|
volume_mount {
|
||||||
|
volume = "minecraft-vanilla"
|
||||||
|
destination = "/var/lib/minecraft/vanilla"
|
||||||
|
read_only = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -19,7 +19,7 @@ in
|
||||||
access_mode = "single-node-writer";
|
access_mode = "single-node-writer";
|
||||||
volume_name = "syncthing-storage";
|
volume_name = "syncthing-storage";
|
||||||
server = "blowhole.hosts.in.redalder.org";
|
server = "blowhole.hosts.in.redalder.org";
|
||||||
share = sharePrefix + "/data";
|
share = sharePrefix + "/storage";
|
||||||
mount_flags = [ "hard" "vers=4.2" "rsize=131072" "wsize=131072" "async" ];
|
mount_flags = [ "hard" "vers=4.2" "rsize=131072" "wsize=131072" "async" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ in
|
||||||
access_mode = "single-node-writer";
|
access_mode = "single-node-writer";
|
||||||
volume_name = "syncthing-config";
|
volume_name = "syncthing-config";
|
||||||
server = "blowhole.hosts.in.redalder.org";
|
server = "blowhole.hosts.in.redalder.org";
|
||||||
share = sharePrefix + "/data";
|
share = sharePrefix + "/config";
|
||||||
mount_flags = [ "hard" "vers=4.2" "rsize=131072" "wsize=131072" "async" ];
|
mount_flags = [ "hard" "vers=4.2" "rsize=131072" "wsize=131072" "async" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -101,6 +101,16 @@ in
|
||||||
source = ./containers/nfs-csi;
|
source = ./containers/nfs-csi;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module."minecraft-vanilla" = elib.terraformModule {
|
||||||
|
name = "nfs-csi";
|
||||||
|
source = ./containers/minecraft/vanilla;
|
||||||
|
};
|
||||||
|
|
||||||
|
module."minecraft-ftb-infinity" = elib.terraformModule {
|
||||||
|
name = "nfs-csi";
|
||||||
|
source = ./containers/minecraft/ftb-infinity;
|
||||||
|
};
|
||||||
|
|
||||||
module."altra" = elib.terraformModule {
|
module."altra" = elib.terraformModule {
|
||||||
name = "altra";
|
name = "altra";
|
||||||
source = ./altra.nix;
|
source = ./altra.nix;
|
||||||
|
|
Loading…
Reference in a new issue