{ self, inputs, lib, sources, ... }: let inherit (lib) genAttrs; targetMachines = [ "hello" "cowsay" ]; pathToRoot = /. + (builtins.unsafeDiscardStringContext self); pathFromRoot = ./.; in { _class = "flake"; perSystem = { pkgs, ... }: { checks.deployment-basic = pkgs.testers.runNixOSTest { imports = [ ../common/nixosTest.nix ./nixosTest.nix ]; _module.args = { inherit inputs sources; }; inherit targetMachines pathToRoot pathFromRoot; }; }; nixops4Deployments.check-deployment-basic = { providers, ... }: { providers = { inherit (inputs.nixops4.modules.nixops4Provider) local; }; resources = genAttrs targetMachines (nodeName: { type = providers.local.exec; imports = [ inputs.nixops4-nixos.modules.nixops4Resource.nixos ../common/targetResource.nix ]; _module.args = { inherit inputs sources; }; inherit nodeName pathToRoot pathFromRoot; nixos.module = { pkgs, ... }: { environment.systemPackages = [ pkgs.${nodeName} ]; }; }); }; }