forked from aylac.top/nixcfg
this repo has no description
1{ 2 config, 3 lib, 4 ... 5}: { 6 options.myDisko.installDrive = lib.mkOption { 7 description = "Disk to install NixOS to."; 8 default = "/dev/sda"; 9 type = lib.types.str; 10 }; 11 12 config = { 13 assertions = [ 14 { 15 assertion = config.myDisko.installDrive != ""; 16 message = "config.myDisko.installDrive cannot be empty."; 17 } 18 ]; 19 20 disko.devices = { 21 disk = { 22 vdb = { 23 type = "disk"; 24 device = config.myDisko.installDrive; 25 26 content = { 27 type = "gpt"; 28 29 partitions = { 30 ESP = { 31 content = { 32 format = "vfat"; 33 34 mountOptions = [ 35 "defaults" 36 "umask=0077" 37 ]; 38 39 mountpoint = "/boot"; 40 type = "filesystem"; 41 }; 42 43 size = "1024M"; 44 type = "EF00"; 45 }; 46 47 luks = { 48 size = "100%"; 49 content = { 50 type = "luks"; 51 name = "crypted"; 52 53 content = { 54 type = "btrfs"; 55 extraArgs = ["-f"]; 56 57 subvolumes = { 58 "/home" = { 59 mountpoint = "/home"; 60 mountOptions = ["compress=zstd" "noatime"]; 61 }; 62 63 "/home/.snapshots" = { 64 mountOptions = ["compress=zstd" "noatime"]; 65 mountpoint = "/home/.snapshots"; 66 }; 67 68 "/nix" = { 69 mountpoint = "/nix"; 70 mountOptions = ["compress=zstd" "noatime"]; 71 }; 72 73 "persist" = { 74 mountpoint = "/persist"; 75 mountOptions = ["compress=zstd" "noatime"]; 76 }; 77 78 "/root" = { 79 mountpoint = "/"; 80 mountOptions = ["compress=zstd" "noatime"]; 81 }; 82 }; 83 }; 84 }; 85 }; 86 }; 87 }; 88 }; 89 }; 90 }; 91 }; 92}