{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs, ... }: let pkgs = import nixpkgs { overlays = [ (import ./pkgs/overlay.nix) ]; system = "x86_64-linux"; }; system = "x86_64-linux"; in { nixosConfigurations = { backup-4 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/backup-4/configuration.nix ]; }; carbon = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/carbon/configuration.nix ]; }; clerie-backup = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/clerie-backup/configuration.nix ]; }; dn42-il-gw1 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/dn42-il-gw1/configuration.nix ]; }; dn42-il-gw5 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/dn42-il-gw5/configuration.nix ]; }; dn42-il-gw6 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/dn42-il-gw6/configuration.nix ]; }; dn42-ildix-clerie = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/dn42-ildix-clerie/configuration.nix ]; }; gatekeeper = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/gatekeeper/configuration.nix ]; }; hydra-1 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/hydra-1/configuration.nix ]; }; hydra-2 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/hydra-2/configuration.nix ]; }; minecraft-2 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/minecraft-2/configuration.nix ]; }; monitoring-3 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/monitoring-3/configuration.nix ]; }; nonat = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/nonat/configuration.nix ]; }; osmium = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/osmium/configuration.nix ]; }; palladium = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/palladium/configuration.nix ]; }; porter = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/porter/configuration.nix ]; }; storage-2 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/storage-2/configuration.nix ]; }; web-2 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/web-2/configuration.nix ]; }; }; colmena = { meta = { nixpkgs = import nixpkgs {}; }; defaults = { name, ... }: { deployment = { targetHost = "${name}.net.clerie.de"; targetUser = null; }; }; } // builtins.mapAttrs (name: host: { nixpkgs.system = host.config.nixpkgs.system; imports = host._module.args.modules; }) self.nixosConfigurations; packages.x86_64-linux = { inherit (pkgs) anycast_healthchecker flask-excel iot-data pyexcel-xlsx pyexcel-webio uptimestatus wetter; }; hydraJobs = { inherit (self) packages; nixosConfigurations = builtins.mapAttrs (name: host: host.config.system.build.toplevel) self.nixosConfigurations; }; }; }