zap: destroy all mdadm devices if mdadm is in PATH

This commit is contained in:
lassulus 2022-12-08 21:03:11 +01:00
parent e0ce5fb75f
commit 66add2cd9e
2 changed files with 8 additions and 5 deletions

View file

@ -114,7 +114,7 @@ $ nix-channel --update
``` nix
{
imports = [ "${builtins.fetchTarball "https://github.com/nix-community/disko/archive/main.tar.gz"}/modules/disko.nix" ];
imports = [ "${builtins.fetchTarball "https://github.com/nix-community/disko/archive/master.tar.gz"}/module.nix" ];
}
```

View file

@ -147,6 +147,7 @@ rec {
# ensures that "/" is processed before "/foo" etc.
${concatStrings (attrValues fsMounts)}
'';
/* takes a disko device specification and returns a string which unmounts, destroys all disks and then runs create and mount
zapCreateMount :: types.devices -> str
@ -164,10 +165,12 @@ rec {
fi
# stop all existing raids
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
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
echo 'creating partitions...'
${diskoLib.create devices}