{ system ? builtins.currentSystem, sources ? import ./npins, }: let pkgs = import sources.nixpkgs { }; nixos = import (sources.nixpkgs + "/nixos"); darwin = import sources.nix-darwin; lanzaboote = import sources.lanzaboote { inherit pkgs; }; inherit (pkgs.lib) mkOption types; in { persephone = nixos { configuration = { imports = [ lanzaboote.nixosModules.lanzaboote ./machines/persephone.nix ]; options = { machine = { hostName = mkOption { type = types.str; description = "The hostname for the machine."; default = "persephone"; }; }; }; }; }; hermes = darwin { system = "aarch64-darwin"; nixpkgs = "${sources.nixpkgs}"; configuration = { imports = [ ./machines/hermes.nix { nix.registry.nixpkgs.to = { type = "path"; path = sources.nixpkgs; }; } ]; options = { machine = { hostName = mkOption { type = types.str; description = "The hostname for the machine."; default = "hermes"; }; }; }; }; }; }