diff options
Diffstat (limited to 'flake/hosts.nix')
| -rw-r--r-- | flake/hosts.nix | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/flake/hosts.nix b/flake/hosts.nix deleted file mode 100644 index 88be6dc..0000000 --- a/flake/hosts.nix +++ /dev/null @@ -1,163 +0,0 @@ -{ - inputs, - self, - withSystem, - ... -}: -let - inherit (inputs.nixpkgs.lib // builtins) - filterAttrs - foldl' - makeOverridable - mapAttrs' - mapAttrsToList - mkForce - mkIf - nixosSystem - readDir - replaceStrings - substring - ; - - inherit (inputs.darwin.lib) darwinSystem; - - nixSettings = { - nix.registry.nixpkgs = { - flake = inputs.nixpkgs; - }; - }; - - mapSystems = - dir: mapAttrsToList (name: _: name) (filterAttrs (_: type: type == "directory") (readDir dir)); - - mapHosts = foldl' ( - hosts: system: - hosts - // (mapAttrs' ( - filename: _: - let - name = replaceStrings [ ".nix" ] [ "" ] filename; - in - { - inherit name; - value = { - inherit system; - hostconf = "${self}/machines/nixos/${system}/${filename}"; - }; - } - ) (builtins.readDir "${self}/machines/nixos/${system}")) - ) { }; - - mapMacs = foldl' ( - hosts: system: - hosts - // (mapAttrs' ( - filename: _: - let - name = replaceStrings [ ".nix" ] [ "" ] filename; - in - { - inherit name; - value = { - inherit system; - hostconf = "${self}/machines/darwin/${system}/${filename}"; - }; - } - ) (builtins.readDir "${self}/machines/darwin/${system}")) - ) { }; - - defaultModules = [ - nixSettings - inputs.agenix.nixosModules.age - inputs.disko.nixosModules.disko - inputs.home-manager.nixosModules.home-manager - ../modules/default.nix - ]; - - darwinDefaultModules = [ - nixSettings - inputs.agenix.darwinModules.age - inputs.home-manager.darwinModules.home-manager - ../modules/default-darwin.nix - ]; - - darwinConfigurations = mapAttrs' ( - name: conf: - let - inherit (conf) system hostconf; - in - { - inherit name; - value = withSystem system ( - { pkgs, ... }: - makeOverridable darwinSystem { - inherit system; - specialArgs = { - hostName = name; - inherit self; - inherit inputs; - }; - modules = [ - { - nixpkgs.pkgs = pkgs; - nixpkgs.hostPlatform = system; - system.stateVersion = 5; - environment.systemPackages = [ - pkgs.git - ]; - } - ] - ++ darwinDefaultModules - ++ [ - hostconf - ]; - } - ); - } - ) (mapMacs (mapSystems ../machines/darwin)); - - nixosConfigurations = mapAttrs' ( - name: conf: - let - inherit (conf) system hostconf; - in - { - inherit name; - value = withSystem system ( - { pkgs, ... }: - makeOverridable nixosSystem { - inherit system; - specialArgs = { - hostName = name; - inherit self; - hostConfigurations = mapAttrs' (name: conf: { - inherit name; - value = conf.config; - }) nixosConfigurations; - inherit inputs; - }; - modules = [ - { - system.configurationRevision = mkIf (self ? rev) self.rev; - system.nixos.versionSuffix = mkForce "git.${substring 0 11 inputs.nixpkgs.rev}"; - nixpkgs.pkgs = pkgs; - environment.systemPackages = [ - pkgs.git - ]; - } - ] - ++ defaultModules - ++ [ - hostconf - inputs.my-go-tools.nixosModules.default - ]; - } - ); - } - ) (mapHosts (mapSystems ../machines/nixos)); -in -{ - flake = { - inherit nixosConfigurations darwinConfigurations; - }; -} |
