aboutsummaryrefslogtreecommitdiff
path: root/nixinate/generate-apps.nix
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2023-08-11 16:51:35 +0200
committerMax Audron <audron@cocaine.farm>2023-08-11 16:51:35 +0200
commit8f7c59e10a48c24120dd580b196acd419e5875d0 (patch)
tree57a470c9e726b0e09aede6c8470467f790d77dc8 /nixinate/generate-apps.nix
parentrefactor k8s module (diff)
add custom nixinate impl
Diffstat (limited to 'nixinate/generate-apps.nix')
-rw-r--r--nixinate/generate-apps.nix32
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;
+ });
+ }
+ )