{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nixos-generators, ... }: { hosts = { nitter = { site = "vs"; }; nixos-coturn = { site = "vs"; }; tor-relay = { site = "vs"; }; jackett = { site = "vs"; }; hydra = { site = "vs"; }; web-public-2 = { site = "vs"; }; }; generateColmenaHost = name: host : { deployment = { targetHost = "${name}.${host.site}.grzb.de"; targetUser = "colmena-deploy"; }; imports = [ ./configuration/common ./configuration/proxmox-vm ./configuration/proxmox-vm/hardware-configuration.nix ./hosts/${name} ]; }; colmena = { meta = { nixpkgs = import nixpkgs { system = "x86_64-linux"; }; }; } // builtins.mapAttrs (self.generateColmenaHost) self.hosts; hydraJobs = { nixConfigurations.nitter = let system = "x86_64-linux"; in nixpkgs.lib.nixosSystem { inherit system; modules = [ ./configuration/common ./configuration/proxmox-vm ./hosts/nitter ]; }; }; # Generate a base VM image for Proxmox with `nix build .#base-proxmox` packages.x86_64-linux = { base-proxmox = nixos-generators.nixosGenerate { system = "x86_64-linux"; modules = [ ./configuration/common ./configuration/nixos-generators ./configuration/proxmox-vm ]; format = "proxmox"; }; }; }; }