diff options
author | lassulus <lassulus@lassul.us> | 2022-12-01 20:33:03 +0100 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2022-12-01 20:33:03 +0100 |
commit | 25cc022282590f36ed2c3cb542774053d58dddc8 (patch) | |
tree | 2d372d2a79b3663e8653e0fc16fd436c75a12758 | |
parent | 0f21bc31fe237ed1c9f8fdd3a0e8be633588302a (diff) |
disko cli: add --no-deps mode
-rw-r--r-- | cli.nix | 25 | ||||
-rw-r--r-- | default.nix | 18 | ||||
-rwxr-xr-x | disko | 3 |
3 files changed, 38 insertions, 8 deletions
@@ -3,6 +3,7 @@ , flake ? null , flakeAttr ? null , diskoFile ? null +, noDeps ? false , ... }@args: let disko = import ./. { }; @@ -12,13 +13,23 @@ let else import diskoFile args; - diskoEval = if (mode == "create") then - disko.createScript diskFormat pkgs - else if (mode == "mount") then - disko.mountScript diskFormat pkgs - else if (mode = "zap_create_mount") then - disko.zapCreateMount diskFormat pkgs + diskoEval = if noDeps then + if (mode == "create") then + disko.createScriptNoDeps diskFormat pkgs + else if (mode == "mount") then + disko.mountScriptNoDeps diskFormat pkgs + else if (mode == "zap_create_mount") then + disko.zapCreateMountScriptNoDeps diskFormat pkgs + else + builtins.abort "invalid mode" else - builtins.abort "invalid mode" + if (mode == "create") then + disko.createScript diskFormat pkgs + else if (mode == "mount") then + disko.mountScript diskFormat pkgs + else if (mode == "zap_create_mount") then + disko.zapCreateMount diskFormat pkgs + else + builtins.abort "invalid mode" ; in diskoEval diff --git a/default.nix b/default.nix index 03a6833..bc975a7 100644 --- a/default.nix +++ b/default.nix @@ -16,18 +16,34 @@ in { types = types; create = cfg: types.diskoLib.create (eval cfg).config.devices; createScript = cfg: pkgs: pkgs.writeScript "disko-create" '' + #!/usr/bin/env bash export PATH=${lib.makeBinPath (types.diskoLib.packages (eval cfg).config.devices pkgs)} ${types.diskoLib.create (eval cfg).config.devices} ''; + createScriptNoDeps = cfg: pkgs: pkgs.writeScript "disko-create" '' + #!/usr/bin/env bash + ${types.diskoLib.create (eval cfg).config.devices} + ''; mount = cfg: types.diskoLib.mount (eval cfg).config.devices; mountScript = cfg: pkgs: pkgs.writeScript "disko-mount" '' + #!/usr/bin/env bash export PATH=${lib.makeBinPath (types.diskoLib.packages (eval cfg).config.devices pkgs)} ${types.diskoLib.mount (eval cfg).config.devices} ''; - zapCreateMount = cfg: pkgs: pkgs.writeScript "disko-zap-create-mount" '' + mountScriptNoDeps = cfg: pkgs: pkgs.writeScript "disko-mount" '' + #!/usr/bin/env bash + ${types.diskoLib.mount (eval cfg).config.devices} + ''; + zapCreateMount = cfg: types.diskoLib.zapCreateMount (eval cfg).config.devices; + zapCreateMountScript = cfg: pkgs: pkgs.writeScript "disko-zap-create-mount" '' + #!/usr/bin/env bash export PATH=${lib.makeBinPath (types.diskoLib.packages (eval cfg).config.devices pkgs)} ${types.diskoLib.zapCreateMount (eval cfg).config.devices} ''; + zapCreateMountScriptNoDeps = cfg: pkgs: pkgs.writeScript "disko-zap-create-mount" '' + #!/usr/bin/env bash + ${types.diskoLib.zapCreateMount (eval cfg).config.devices} + ''; config = cfg: { imports = types.diskoLib.config (eval cfg).config.devices; }; packages = cfg: types.diskoLib.packages (eval cfg).config.devices; } @@ -72,6 +72,9 @@ while [[ $# -gt 0 ]]; do --dry-run) dry_run=y ;; + --no-deps) + nix_args+=(--arg noDeps true) + ;; --show-trace) nix_args+=("$1") ;; |