From 17da9b07089b9929b422077558dc4fbcebb86d36 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 1 Dec 2022 15:39:11 +0100 Subject: init disk-deactivate for cleaning up the disk --- types.nix | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'types.nix') diff --git a/types.nix b/types.nix index 91cc7c1..c516b8c 100644 --- a/types.nix +++ b/types.nix @@ -154,23 +154,11 @@ rec { */ zapCreateMount = devices: '' set -efux - shopt -s nullglob - # print existing disks - lsblk + umount -Rv /mnt || : - # TODO get zap the same way we get create - # make partitioning idempotent by dismounting already mounted filesystems - if findmnt /mnt; then - umount -Rlv /mnt - fi - - # stop all existing raids - if command -v mdadm; then - for r in /dev/md/* /dev/md[0-9]*; do - # might fail if the device was already closed in the loop - mdadm --stop "$r" || true - done - fi + for dev in ${toString (lib.catAttrs "device" (lib.attrValues devices.disk))}; do + ${./disk-deactivate}/disk-deactivate "$dev" | bash -x + done echo 'creating partitions...' ${diskoLib.create devices} @@ -820,6 +808,7 @@ rec { type = types.functionTo types.str; default = vg: '' lvcreate \ + --yes \ ${if hasInfix "%" config.size then "-l" else "-L"} ${config.size} \ -n ${config.name} \ ${optionalString (!isNull config.lvm_type) "--type=${config.lvm_type}"} \ @@ -1326,7 +1315,7 @@ rec { internal = true; readOnly = true; type = types.functionTo (types.listOf types.package); - default = pkgs: lib.optionals (!isNull config.content) (config.content._pkgs pkgs); + default = pkgs: [ pkgs.jq ] ++ lib.optionals (!isNull config.content) (config.content._pkgs pkgs); }; }; }); -- cgit v1.2.3