{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-schule.url = "github:NixOS/nixpkgs/nixos-unstable"; 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"; }; }; outputs = { self, nixpkgs, nixos-exporter, solid-xmpp-alarm, ... }@inputs: let helper = (import ./lib/flake-helper.nix) inputs; in { nixosConfigurations = let inherit (helper) generateNixosSystem; in { aluminium = generateNixosSystem "aluminium"; backup-4 = generateNixosSystem "backup-4"; beryllium = generateNixosSystem "beryllium"; carbon = generateNixosSystem "carbon"; clerie-backup = generateNixosSystem "clerie-backup"; dn42-il-gw1 = generateNixosSystem "dn42-il-gw1"; dn42-il-gw5 = generateNixosSystem "dn42-il-gw5"; dn42-il-gw6 = generateNixosSystem "dn42-il-gw6"; dn42-ildix-clerie = generateNixosSystem "dn42-ildix-clerie"; gatekeeper = generateNixosSystem "gatekeeper"; hydra-1 = generateNixosSystem "hydra-1"; hydra-2 = generateNixosSystem "hydra-2"; minecraft-2 = generateNixosSystem "minecraft-2"; monitoring-3 = generateNixosSystem "monitoring-3"; nonat = generateNixosSystem "nonat"; osmium = generateNixosSystem "osmium"; palladium = generateNixosSystem "palladium"; porter = generateNixosSystem "porter"; schule = generateNixosSystem "schule"; storage-2 = generateNixosSystem "storage-2"; web-2 = generateNixosSystem "web-2"; dn42-ildix-service = generateNixosSystem "dn42-ildix-service"; _iso = generateNixosSystem "_iso"; }; colmena = { meta = { nixpkgs = import nixpkgs {}; }; } // helper.mapToColmenaHosts self.nixosConfigurations; packages.x86_64-linux = let pkgs = import nixpkgs { overlays = [ (import ./pkgs/overlay.nix) ]; system = "x86_64-linux"; }; in { inherit (pkgs) anycast_healthchecker flask-excel iot-data pyexcel-xlsx pyexcel-webio uptimestatus wetter; }; hydraJobs = { inherit (self) packages; nixosConfigurations = helper.buildHosts self.nixosConfigurations; iso = self.nixosConfigurations._iso.config.system.build.isoImage; }; }; }