{ description = "NixOS configurations for crossbox and anvil"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; strix-halo.url = "github:hellas-ai/nix-strix-halo"; }; outputs = { self, nixpkgs, strix-halo, ... }: let mkHost = { hostDir, extraModules ? [], overlays ? [] }: nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./configuration.nix hostDir ({ ... }: { nixpkgs.overlays = overlays; }) ] ++ extraModules; }; in { nixosConfigurations.crossbox = mkHost { hostDir = ./hosts/crossbox; overlays = [ strix-halo.overlays.default ]; extraModules = [ ./sdr.nix ./syncthing.nix ]; }; nixosConfigurations.anvil = mkHost { hostDir = ./hosts/anvil; extraModules = [ ./sdr.nix ./syncthing.nix ]; }; }; }