summaryrefslogtreecommitdiffstats
path: root/types.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2022-11-23 13:28:52 +0100
committerlassulus <lassulus@lassul.us>2022-11-25 17:36:40 +0100
commit9cf4f170aefaf85d01cb1710c192f9f5b56ab694 (patch)
treedbbd68657463767ef2b7f273849d87c37ccbf9a0 /types.nix
parent417ad31ca5c149ff85bd5a4f61c81253e4906b65 (diff)
add zapCreateMount script for idempodents install from iso/kexec
Diffstat (limited to 'types.nix')
-rw-r--r--types.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/types.nix b/types.nix
index e09ca9d..92f11fb 100644
--- a/types.nix
+++ b/types.nix
@@ -146,6 +146,26 @@ 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
+ */
+ zapCreateMount = devices: ''
+ set -efux
+ # print existing disks
+ lsblk
+
+ # 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
+
+ echo 'creating partitions...'
+ ${diskoLib.create devices}
+ echo 'mounting partitions...'
+ ${diskoLib.mount devices}
+ '';
/* Takes a disko device specification and returns a nixos configuration
config :: types.devices -> nixosConfig