diff options
Diffstat (limited to 'nixinate/generate-apps.nix')
| -rw-r--r-- | nixinate/generate-apps.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nixinate/generate-apps.nix b/nixinate/generate-apps.nix new file mode 100644 index 0000000..6871d04 --- /dev/null +++ b/nixinate/generate-apps.nix @@ -0,0 +1,32 @@ +nixpkgs: pkgs: flake: + +let + machines = builtins.attrNames flake.nixosConfigurations; + validMachines = nixpkgs.lib.remove "" + (nixpkgs.lib.forEach machines + (x: nixpkgs.lib.optionalString + (flake.nixosConfigurations."${x}"._module.args ? nixinate) "${x}")); + mkDeployScript = import ./make-deploy-script.nix { inherit nixpkgs pkgs flake; }; +in +nixpkgs.lib.genAttrs + validMachines + (x: + { + type = "app"; + program = toString (mkDeployScript { + machine = x; + dryRun = false; + }); + } + ) + // nixpkgs.lib.genAttrs + (map (a: a + "-dry-run") validMachines) + (x: + { + type = "app"; + program = toString (mkDeployScript { + machine = nixpkgs.lib.removeSuffix "-dry-run" x; + dryRun = true; + }); + } + ) |
