add reclamation server
Some checks failed
/ perform flake analysis (push) Successful in 52s
/ build hive configuration (push) Failing after 1m52s

This commit is contained in:
2026-01-02 15:02:35 +01:00
parent d068ea8c2d
commit 29b632a961
3 changed files with 183 additions and 63 deletions

73
flake.lock generated
View File

@@ -326,6 +326,20 @@
} }
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": {
"lastModified": 1767273430,
"narHash": "sha256-kDpoFwQ8GLrPiS3KL+sAwreXrph2KhdXuJzo5+vSLoo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "76eec3925eb9bbe193934987d3285473dbcfad50",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1737062831, "lastModified": 1737062831,
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
@@ -339,7 +353,7 @@
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz" "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
} }
}, },
"nixpkgs_7": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1736549401, "lastModified": 1736549401,
"narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=", "narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=",
@@ -355,6 +369,25 @@
"type": "github" "type": "github"
} }
}, },
"reclamation": {
"inputs": {
"nixpkgs": "nixpkgs_6",
"utils": "utils"
},
"locked": {
"lastModified": 1767362018,
"narHash": "sha256-zZ9FEby/D8fGKe1QuF581dTZi+jU590u9MnNKG6ZV8c=",
"ref": "refs/heads/master",
"rev": "1b961c0df8427885cd976c13e684fd154e52f515",
"revCount": 1,
"type": "git",
"url": "https://git.shobu.fr/sin_serhao/reclamation"
},
"original": {
"type": "git",
"url": "https://git.shobu.fr/sin_serhao/reclamation"
}
},
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
@@ -363,6 +396,7 @@
"disko": "disko", "disko": "disko",
"nix-minecraft": "nix-minecraft", "nix-minecraft": "nix-minecraft",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"reclamation": "reclamation",
"shoblog-front": "shoblog-front", "shoblog-front": "shoblog-front",
"testing-grounds": "testing-grounds", "testing-grounds": "testing-grounds",
"unstable": "unstable" "unstable": "unstable"
@@ -370,7 +404,7 @@
}, },
"shoblog-front": { "shoblog-front": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1752594581, "lastModified": 1752594581,
@@ -432,9 +466,24 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"testing-grounds": { "testing-grounds": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1755527993, "lastModified": 1755527993,
@@ -465,6 +514,24 @@
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
},
"utils": {
"inputs": {
"systems": "systems_3"
},
"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"
}
} }
}, },
"root": "root", "root": "root",

145
flake.nix
View File

@@ -17,33 +17,36 @@
# sin inputs # sin inputs
nix-minecraft.url = "github:Infinidoge/nix-minecraft"; nix-minecraft.url = "github:Infinidoge/nix-minecraft";
testing-grounds.url = "gitlab:shobu13/testing-grounds"; testing-grounds.url = "gitlab:shobu13/testing-grounds";
reclamation.url = "git+https://git.shobu.fr/sin_serhao/reclamation";
shoblog-front.url = "gitlab:shobu13/shoblog"; shoblog-front.url = "gitlab:shobu13/shoblog";
# striped-front.url = "git+ssh://git@gitlab.com/striped1/striped-front"; # striped-front.url = "git+ssh://git@gitlab.com/striped1/striped-front";
# striped-back.url = "git+ssh://git@gitlab.com/striped1/striped-back"; # striped-back.url = "git+ssh://git@gitlab.com/striped1/striped-back";
copyparty.url = "github:9001/copyparty"; copyparty.url = "github:9001/copyparty";
}; };
# Flake outputs # Flake outputs
outputs = inputs@{ outputs =
self, inputs@{
self,
nixpkgs,
unstable,
colmena,
agenix, nixpkgs,
unstable,
colmena,
disko, agenix,
shoblog-front, disko,
# striped-front,
# striped-back, shoblog-front,
nix-minecraft, # striped-front,
testing-grounds, # striped-back,
copyparty, nix-minecraft,
... testing-grounds,
reclamation,
copyparty,
...
}: }:
let let
# The systems supported for this flake # The systems supported for this flake
@@ -52,16 +55,21 @@
]; ];
# Helper to provide system-specific attributes # Helper to provide system-specific attributes
forEachSupportedSystem = f: inputs.nixpkgs.lib.genAttrs supportedSystems (system: f { forEachSupportedSystem =
pkgs = import inputs.nixpkgs { inherit system; }; f:
}); inputs.nixpkgs.lib.genAttrs supportedSystems (
system:
f {
pkgs = import inputs.nixpkgs { inherit system; };
}
);
in in
{ {
colmenaHive = colmena.lib.makeHive { colmenaHive = colmena.lib.makeHive {
meta = { meta = {
nixpkgs = import nixpkgs { nixpkgs = import nixpkgs {
system = "x86_64-linux"; system = "x86_64-linux";
overlays = []; overlays = [ ];
}; };
specialArgs = { specialArgs = {
@@ -69,49 +77,70 @@
}; };
}; };
thea = {name, nodes, pkgs, ...}: { thea =
imports = [ {
./hosts/${name}/configuration.nix name,
./hosts/${name}/hardware-configuration.nix nodes,
] ++ [ pkgs,
# modules ...
./modules/gitea/${name} }:
]; {
imports = [
./hosts/${name}/configuration.nix
./hosts/${name}/hardware-configuration.nix
]
++ [
# modules
./modules/gitea/${name}
];
deployment.targetHost = "192.168.1.12"; deployment.targetHost = "192.168.1.12";
}; };
sin = {name, nodes, pkgs, ...}: { sin =
imports = [ {
disko.nixosModules.disko name,
agenix.nixosModules.default nodes,
./hosts/${name}/configuration.nix pkgs,
./hosts/${name}/hardware-configuration.nix ...
] ++ [ }:
# modules {
./modules/gitea/${name} imports = [
]; disko.nixosModules.disko
agenix.nixosModules.default
./hosts/${name}/configuration.nix
./hosts/${name}/hardware-configuration.nix
]
++ [
# modules
./modules/gitea/${name}
];
deployment.targetHost = "192.168.1.14"; deployment.targetHost = "192.168.1.14";
}; };
}; };
devShells = forEachSupportedSystem ({ pkgs }: { devShells = forEachSupportedSystem (
default = pkgs.mkShell { { pkgs }:
# The Nix packages provided in the environment {
# Add any you need here default = pkgs.mkShell {
packages = with pkgs; [ colmena.packages.${pkgs.system}.colmena ]; # The Nix packages provided in the environment
# Add any you need here
packages = with pkgs; [ colmena.packages.${pkgs.system}.colmena ];
# Set any environment variables for your dev shell # Set any environment variables for your dev shell
env = { }; env = { };
# Add any shell logic you want executed any time the environment is activated # Add any shell logic you want executed any time the environment is activated
shellHook = '' shellHook = '''';
''; };
}; }
}); );
packages = forEachSupportedSystem ({pkgs}: { packages = forEachSupportedSystem (
inherit (colmena.packages."${pkgs.system}") colmena; { pkgs }:
}); {
inherit (colmena.packages."${pkgs.system}") colmena;
}
);
}; };
} }

View File

@@ -1,9 +1,18 @@
{pkgs, inputs, ...}: {
pkgs,
inputs,
lib,
...
}:
let let
modpack = pkgs.fetchPackwizModpack { modpack = pkgs.fetchPackwizModpack {
url = "file:///${inputs.testing-grounds.modpack}/pack.toml"; url = "file:///${inputs.testing-grounds.modpack}/pack.toml";
packHash = "sha256-+taYj4uroLNxM4Nia3n+5P1Y/g6dzE6Iq13TsZgk4mU="; packHash = "sha256-+taYj4uroLNxM4Nia3n+5P1Y/g6dzE6Iq13TsZgk4mU=";
}; };
reclamation = pkgs.fetchPackwizModpack {
url = "file:///${inputs.reclamation.reclamation}/pack.toml";
packHash = lib.fakeHash;
};
in in
{ {
imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ]; imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ];
@@ -14,6 +23,21 @@ in
eula = true; eula = true;
openFirewall = true; openFirewall = true;
servers.reclamation = {
enable = true;
package = pkgs.fabricServers.fabric;
symlinks = {
"mods" = "${reclamation}/mods";
};
serverProperties = {
server-port = 43001;
motd = "all hail the gorgon";
allow-flight = true;
};
};
servers.testing-grounds = { servers.testing-grounds = {
enable = true; enable = true;