at master 1.1 kB view raw
1{ pkgs, ... }: 2{ 3 name = "bcachefs"; 4 meta = { 5 inherit (pkgs.bcachefs-tools.meta) maintainers; 6 }; 7 8 nodes.machine = 9 { pkgs, ... }: 10 { 11 virtualisation.emptyDiskImages = [ 4096 ]; 12 networking.hostId = "deadbeef"; 13 boot.supportedFilesystems = [ "bcachefs" ]; 14 environment.systemPackages = with pkgs; [ 15 parted 16 keyutils 17 ]; 18 }; 19 20 testScript = '' 21 machine.succeed("modprobe bcachefs") 22 machine.succeed("bcachefs version") 23 machine.succeed("ls /dev") 24 25 machine.succeed( 26 "mkdir /tmp/mnt", 27 "udevadm settle", 28 "parted --script /dev/vdb mklabel msdos", 29 "parted --script /dev/vdb -- mkpart primary 1024M 50% mkpart primary 50% -1s", 30 "udevadm settle", 31 "echo password | bcachefs format --encrypted --metadata_replicas 2 --label vtest /dev/vdb1 /dev/vdb2", 32 "echo password | bcachefs unlock -k session /dev/vdb1", 33 "echo password | mount -t bcachefs /dev/vdb1:/dev/vdb2 /tmp/mnt", 34 "udevadm settle", 35 "bcachefs fs usage /tmp/mnt", 36 "umount /tmp/mnt", 37 "udevadm settle", 38 ) 39 ''; 40}