summary refs log tree commit diff
path: root/hosts/disko.nix
blob: 26d1849fd14080ea7d50599b5bf72a9d1d25952c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Example to create a bios compatible gpt partition
{
  lib,
  disks,
  ...
}: {
  disk = lib.genAttrs disks (dev: {
    device = dev;
    type = "disk";
    content = {
      type = "table";
      format = "gpt";
      partitions = [
        {
          type = "partition";
          name = "boot";
          start = "1MiB";
          end = "100MiB";
          bootable = true;
          content = {
            type = "filesystem";
            format = "vfat";
            mountpoint = "/boot";
          };
        }
        {
          name = "nix";
          type = "partition";
          start = "128MiB";
          end = "100%";
          content = {
            type = "btrfs";
            extraArgs = "-f"; # Override existing partition
            subvolumes = {
              "/" = {
                mountOptions = ["noatime" "compress=zstd"];
              };
            };
          };
        }
      ];
    };
  });

  nodev = {
    "/" = {
      fsType = "tmpfs";
      mountOptions = [
        "noexec"
        "defaults"
        "size=2G"
        "mode=755"
      ];
    };
  };
}