reimplement disko using the nixos type system

This should make the code cleaner, more robust and errors should be
clearer. we also changed the configuration format a bit.
This commit is contained in:
lassulus 2022-08-29 11:45:19 +02:00
parent adf901d581
commit dcb0c42857
11 changed files with 1545 additions and 534 deletions

20
tests/complex.nix Normal file
View file

@ -0,0 +1,20 @@
{ pkgs ? (import <nixpkgs> { })
, makeDiskoTest ? (pkgs.callPackage ./lib.nix { }).makeDiskoTest
}:
makeDiskoTest {
disko-config = import ../example/complex.nix;
extraTestScript = ''
machine.succeed("test -b /dev/zroot/zfs_testvolume");
machine.succeed("test -b /dev/md/raid1p1");
machine.succeed("mountpoint /mnt");
machine.succeed("mountpoint /mnt/zfs_fs");
machine.succeed("mountpoint /mnt/zfs_legacy_fs");
machine.succeed("mountpoint /mnt/ext4onzfs");
machine.succeed("mountpoint /mnt/ext4_on_lvm");
'';
extraConfig = {
boot.kernelModules = [ "dm-raid" "dm-mirror" ];
};
}