{
  inputs,
  self,
  ...
}: let
  inherit (self) lib;
in {
  flake = {
    nixosConfigurations = builtins.mapAttrs (n: v: lib.mkHost (v // {host = n;})) {
      solterra = {
        system = "x86_64-linux";
        extraModules = [
          inputs.disko.nixosModules.disko
        ];
      };
      micronix = {
        system = "x86_64-linux";
        extraModules = [
          inputs.disko.nixosModules.disko
          inputs.chaotic.nixosModules.default
        ];
      };
      slowworm = {
        system = "x86_64-linux";
      };
    };
    nixosModules.default = ./shared;
  };
}
