1
0
nixfiles/flake.nix

100 lines
2.9 KiB
Nix
Raw Normal View History

2022-10-02 16:49:43 +02:00
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2023-03-23 17:09:54 +01:00
nixpkgs-schule.url = "github:NixOS/nixpkgs/nixos-unstable";
2023-05-01 11:37:33 +02:00
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-06-13 17:53:45 +02:00
chaosevents = {
url = "git+https://git.clerie.de/clerie/chaosevents.git";
inputs.nixpkgs.follows = "nixpkgs";
};
fernglas = {
url = "github:wobcom/fernglas";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-01-02 19:10:33 +01:00
nixos-exporter = {
url = "git+https://git.clerie.de/clerie/nixos-exporter.git";
inputs.nixpkgs.follows = "nixpkgs";
};
solid-xmpp-alarm = {
url = "git+https://git.clerie.de/clerie/solid-xmpp-alarm.git";
inputs.nixpkgs.follows = "nixpkgs";
};
2022-10-02 16:49:43 +02:00
};
2023-06-13 17:53:45 +02:00
outputs = { self, nixpkgs, chaosevents, fernglas, nixos-exporter, solid-xmpp-alarm, ... }@inputs: let
2023-03-23 16:45:30 +01:00
helper = (import ./lib/flake-helper.nix) inputs;
in {
clerie.hosts = {
2023-04-21 23:03:11 +02:00
aluminium = {
name = "aluminium";
group = "event";
};
2023-05-20 17:34:02 +02:00
astatine = {
name = "astatine";
group = "event";
};
backup-4 = { name = "backup-4"; };
2023-04-21 23:03:11 +02:00
beryllium = {
name = "beryllium";
group = "event";
};
carbon = { name = "carbon"; };
clerie-backup = { name = "clerie-backup"; };
dn42-il-gw1 = { name = "dn42-il-gw1"; };
dn42-il-gw5 = { name = "dn42-il-gw5"; };
dn42-il-gw6 = { name = "dn42-il-gw6"; };
dn42-ildix-clerie = { name = "dn42-ildix-clerie"; };
2023-05-20 17:34:02 +02:00
dn42-ildix-service = { name = "dn42-ildix-service"; };
gatekeeper = { name = "gatekeeper"; };
hydra-1 = { name = "hydra-1"; };
hydra-2 = { name = "hydra-2"; };
2023-05-20 17:13:45 +02:00
mail-2 = { name = "mail-2"; };
minecraft-2 = { name = "minecraft-2"; };
monitoring-3 = { name = "monitoring-3"; };
nonat = { name = "nonat"; };
osmium = { name = "osmium"; };
palladium = { name = "palladium"; };
porter = { name = "porter"; };
schule = { name = "schule"; };
storage-2 = { name = "storage-2"; };
web-2 = { name = "web-2"; };
_iso = { name = "_iso"; };
};
nixosConfigurations = helper.mapToNixosConfigurations self.clerie.hosts;
2022-10-02 16:49:43 +02:00
colmena = {
meta = {
nixpkgs = import nixpkgs {};
};
2023-03-23 16:45:30 +01:00
} // helper.mapToColmenaHosts self.nixosConfigurations;
2022-10-02 16:49:43 +02:00
2023-03-23 16:45:30 +01:00
packages.x86_64-linux = let
pkgs = import nixpkgs {
overlays = [
(import ./pkgs/overlay.nix)
];
system = "x86_64-linux";
2022-10-02 16:49:43 +02:00
};
2023-03-23 16:45:30 +01:00
in {
inherit (pkgs)
anycast_healthchecker
flask-excel
iot-data
pyexcel-xlsx
pyexcel-webio
uptimestatus
wetter;
};
hydraJobs = {
inherit (self)
packages;
2023-03-23 16:45:30 +01:00
nixosConfigurations = helper.buildHosts self.nixosConfigurations;
2023-02-26 18:45:26 +01:00
iso = self.nixosConfigurations._iso.config.system.build.isoImage;
};
2022-10-02 16:49:43 +02:00
};
}