mirror of
https://github.com/nix-community/disko.git
synced 2024-09-11 06:25:33 +03:00
disko cli: add --no-deps mode
This commit is contained in:
parent
0f21bc31fe
commit
25cc022282
25
cli.nix
25
cli.nix
@ -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
|
||||
|
18
default.nix
18
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user