nix-infra/hosts.nix

69 lines
1.4 KiB
Nix
Raw Normal View History

2023-07-30 01:38:31 +02:00
{ nixpkgs, nixpkgs-unstable, ... }:
let
# Set of environment specific modules
2023-07-30 01:38:31 +02:00
environments = {
"proxmox" = [
./configuration/proxmox-vm
];
};
generateDefaults = hosts: builtins.mapAttrs (name: {
hostNixpkgs ? nixpkgs,
system ? "x86_64-linux",
# pkgs is explicitly defined so that overlays for each host can easily be created
2023-07-30 01:38:31 +02:00
pkgs ? hostNixpkgs.legacyPackages.${system},
environment ? "proxmox",
site
}: {
inherit hostNixpkgs system pkgs environment site;
# define common and host modules and additionally add environment specific modules
2023-07-30 01:38:31 +02:00
modules = [
./configuration/common
./hosts/${name}
] ++ environments.${environment};
2023-07-30 01:38:31 +02:00
}) hosts;
in
generateDefaults {
hydra = {
site = "vs";
};
iperf = {
site = "vs";
};
jackett = {
site = "vs";
};
2023-08-01 23:02:11 +02:00
jellyfin = {
hostNixpkgs = nixpkgs-unstable;
2023-08-01 23:02:11 +02:00
site = "vs";
};
2023-08-29 16:10:22 +02:00
matrix = {
site = "vs";
};
2023-08-06 17:53:50 +02:00
metrics = {
site = "vs";
};
2023-08-05 04:47:14 +02:00
netbox = {
site = "vs";
};
2023-08-03 15:51:21 +02:00
nextcloud = {
site = "vs";
};
2023-07-30 01:38:31 +02:00
nitter = {
site = "vs";
};
coturn = {
2023-07-30 01:38:31 +02:00
site = "vs";
};
tor-relay = {
site = "vs";
};
web-public-2 = {
hostNixpkgs = nixpkgs-unstable;
site = "vs";
};
web-nonpublic-linuxcrewd = {
hostNixpkgs = nixpkgs-unstable;
site = "vs";
};
2023-07-30 01:38:31 +02:00
}