{ config, system, sources ? import ../../../npins, modulesPath, ... }@args: let inherit (sources) nixpkgs; pkgs = import nixpkgs { inherit system; }; inherit (pkgs) lib; inherit (pkgs.callPackage ../common/utils.nix { inherit modulesPath; }) mkNixosConfiguration; inherit (config) nodeName pathToRoot targetSystem sshOpts httpBackend ; in (pkgs.callPackage ../../utils.nix { }).evalModel ( { config, modulesPath, ... }: { imports = [ ../common/model.nix ]; config = { environments.default = environment: { resources."operator-environment".login-shell.username = "operator"; implementation = { required-resources, deployment-name, }: { tf-host = { nixos-configuration = { imports = [ (mkNixosConfiguration environment required-resources) "${modulesPath}/../lib/testing/nixos-test-base.nix" ]; }; system = targetSystem; ssh = { username = "root"; host = nodeName; key-file = ""; inherit sshOpts; }; caller = "deployment/check/data-model-tf/data-model.nix"; inherit args deployment-name httpBackend; root-path = pathToRoot; }; }; }; }; options.default = let env = config.environments.default; in lib.mkOption { type = env.resource-mapping.output-type; default = env.deployment { deployment-name = "default"; configuration = config."example-configuration"; }; }; } )