!oNSIfazDqEcwhcOjSL:matrix.org

disko

391 Members
disko - declarative disk partitioning - https://github.com/nix-community/disko104 Servers

Load older messages


SenderMessageTime
11 Apr 2026
@matthewcroughan:defenestrate.itmatthewcroughanAny reason not to merge https://github.com/nix-community/disko/pull/1235 ?21:55:36
@matthewcroughan:defenestrate.itmatthewcroughanthe CI failure seems to be unrelated to the PR content21:55:42
@matthewcroughan:defenestrate.itmatthewcroughan It adds a test for a simple real world zfs example, that will reproduce the "Cannot allocate memory" issue if you just change the boot.kernelPackages 21:56:47
@magic_rb:matrix.redalder.orgmagic_rb Id do atime=off dnodesize i think defaults to auto these days, id be explicit about which zstd im using and i tend to adjust recordsize. Also xattr=on i think is sa now which i think is better than posixacl? 22:02:53
@matthewcroughan:defenestrate.itmatthewcroughanIt's just an example22:03:26
@matthewcroughan:defenestrate.itmatthewcroughanwhat do you mean by "xattr=on i think is sa" ?22:03:41
@matthewcroughan:defenestrate.itmatthewcroughan you mean xattr=sa is default? 22:04:02
@matthewcroughan:defenestrate.itmatthewcroughanping22:11:48
@matthewcroughan:defenestrate.itmatthewcroughanBut yeah you're probs riht about atime22:12:34
@magic_rb:matrix.redalder.orgmagic_rbYes22:12:35
@matthewcroughan:defenestrate.itmatthewcroughan* But yeah you're probs right about atime22:12:37
@magic_rb:matrix.redalder.orgmagic_rbxattr=on == xattr=sa i think22:12:51
@matthewcroughan:defenestrate.itmatthewcroughanokay so you think dnodesize is already default, too?22:13:03
@matthewcroughan:defenestrate.itmatthewcroughanwhat about relatime though?22:13:51
@matthewcroughan:defenestrate.itmatthewcroughanDo you think that should also be off?22:13:55
@matthewcroughan:defenestrate.itmatthewcroughanhttps://wiki.debian.org/ZFS22:14:30
@matthewcroughan:defenestrate.itmatthewcroughan people here are using xattr=sa still 22:14:36
@matthewcroughan:defenestrate.itmatthewcroughanhttps://blog.tiserbox.com/posts/2024-02-09-zfs-on-nix-os.html22:14:51
@matthewcroughan:defenestrate.itmatthewcroughanyou can fined the same here from 2024 too22:14:57
@matthewcroughan:defenestrate.itmatthewcroughannot sure where to find the defaults tbh22:15:03
@matthewcroughan:defenestrate.itmatthewcroughanbetter to be explicit and not beholden to defaults though, no?22:15:17
12 Apr 2026
@pandapip1:matrix.orgpandapip1

I've had this in my config for a while

fileSystems."/data".options = [ "nofail" ]; # TODO find out why we need this!
  # Notably, https://github.com/nix-community/disko/blob/3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5/tests/zfs.nix#L12 also needs this
  disko.devices = {
    disk = {
      ...
      data0 = {
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            zfs = {
              size = "100%";
              content = {
                type = "zfs";
                pool = "data";
              };
            };
          };
        };
      };
      data1 = {
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            zfs = {
              size = "100%";
              content = {
                type = "zfs";
                pool = "data";
              };
            };
          };
        };
      };
    };
    zpool = {
      data = {
        type = "zpool";
        mode = "mirror";
        rootFsOptions = {
          compression = "lz4";
          "com.sun:auto-snapshot" = "true";
        };
        postCreateHook = "zfs list -t snapshot -H -o name | grep -E '^data@blank$' || zfs snapshot data@blank";

        datasets = {
          "main" = {
            type = "zfs_fs";
            mountpoint = "/data";
          };
        };
      };
    };
  };

Got any idea why the nomount is needed? It still mounts correctly, it just shows up as failing on boot, and if nomount isn't set it blocks boot.

00:26:21
@pandapip1:matrix.orgpandapip1 *

I've had this in my config for a while

  fileSystems."/data".options = [ "nofail" ]; # TODO find out why we need this!
  # Notably, https://github.com/nix-community/disko/blob/3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5/tests/zfs.nix#L12 also needs this
  disko.devices = {
    disk = {
      ...
      data0 = {
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            zfs = {
              size = "100%";
              content = {
                type = "zfs";
                pool = "data";
              };
            };
          };
        };
      };
      data1 = {
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            zfs = {
              size = "100%";
              content = {
                type = "zfs";
                pool = "data";
              };
            };
          };
        };
      };
    };
    zpool = {
      data = {
        type = "zpool";
        mode = "mirror";
        rootFsOptions = {
          compression = "lz4";
          "com.sun:auto-snapshot" = "true";
        };
        postCreateHook = "zfs list -t snapshot -H -o name | grep -E '^data@blank$' || zfs snapshot data@blank";

        datasets = {
          "main" = {
            type = "zfs_fs";
            mountpoint = "/data";
          };
        };
      };
    };
  };

Got any idea why the nomount is needed? It still mounts correctly, it just shows up as failing on boot, and if nomount isn't set it blocks boot.

00:26:30
@pandapip1:matrix.orgpandapip1 *

I've had this in my config for a while

  fileSystems."/data".options = [ "nofail" ]; # TODO find out why we need this!
  # Notably, https://github.com/nix-community/disko/blob/3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5/tests/zfs.nix#L12 also needs this
  disko.devices = {
    disk = {
      ...
      data0 = {
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            zfs = {
              size = "100%";
              content = {
                type = "zfs";
                pool = "data";
              };
            };
          };
        };
      };
      data1 = {
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            zfs = {
              size = "100%";
              content = {
                type = "zfs";
                pool = "data";
              };
            };
          };
        };
      };
    };
    zpool = {
      data = {
        type = "zpool";
        mode = "mirror";
        rootFsOptions = {
          compression = "lz4";
          "com.sun:auto-snapshot" = "true";
        };
        postCreateHook = "zfs list -t snapshot -H -o name | grep -E '^data@blank$' || zfs snapshot data@blank";

        datasets = {
          "main" = {
            type = "zfs_fs";
            mountpoint = "/data";
          };
        };
      };
    };
  };

Got any idea why the nofail is needed? It still mounts correctly, it just shows up as failing on boot, and if nofail isn't set it blocks boot.

00:27:50
@matthewcroughan:defenestrate.itmatthewcroughanhmm18:48:19
@matthewcroughan:defenestrate.itmatthewcroughannixos-disko-images-aarch64-linux> [2026-04-12T18:47:09Z INFO virtiofsd] Client disconnected, shutting down nixos-disko-images-aarch64-linux> [2026-04-12T18:47:09Z INFO virtiofsd] Client disconnected, shutting down nixos-disko-images-aarch64-linux> Virtual machine didn't produce an exit code. error: build of '/nix/store/iqb7h2cw2bgh42l6pkijwm4g1fcqwzcw-nixos-disko-images.drv' on 'ssh-ng://nix-ssh@m2u' failed: Cannot build '/nix/store/iqb7h2cw2bgh42l6pkijwm4g1fcqwzcw-nixos-disko-images.drv'.18:48:21
@matthewcroughan:defenestrate.itmatthewcroughanthat's a new one18:48:22
@matthewcroughan:defenestrate.itmatthewcroughanWhy does disko spew tons of empty newlines?18:54:44
@matthewcroughan:defenestrate.itmatthewcroughanimage.png
Download image.png
18:54:46
@matthewcroughan:defenestrate.itmatthewcroughanextraPostVM logs don't go here either18:55:01

Show newer messages


Back to Room ListRoom Version: 10