!oNSIfazDqEcwhcOjSL:matrix.org

disko

345 Members
disko - declarative disk partitioning - https://github.com/nix-community/disko87 Servers

Load older messages


SenderMessageTime
7 Jun 2025
@musicmatze:beyermatthi.asmusicmatzeIs Disko able to add to my existing zfs datasets?18:16:57
@musicmatze:beyermatthi.asmusicmatzeSo if I create a new dataset in the config, will it generate it upon nixos-rebuild?18:17:19
@sandro:supersandro.deSandro 🐧I don't think so18:25:38
@sandro:supersandro.deSandro 🐧at least I have been always manually reconciling that 18:25:43
@lassulus:lassul.uslassulustheoretically you can run the format part of the script again19:22:28
@lassulus:lassul.uslassulusbut better check what it would run beforehand :)19:22:37
@musicmatze:beyermatthi.asmusicmatze So if I add Disko as a module to my configuration, and add another dataset there, it does not get automatically created?
What is the expected way to do it then? Create the dataset by hand and then add it to fileSystems?
19:24:52
@lassulus:lassul.uslassulus no, add it to the disko config and either create it manually or run what is in config.system.build.format 19:27:22
@musicmatze:beyermatthi.asmusicmatzeThat sounds much better 😉19:30:47
@deeok:matrix.org@deeok:matrix.org changed their display name from deeok to matrixrooms.info mod bot (does NOT read/send messages and/or invites; used for checking reported rooms).22:11:25
@deeok:matrix.org@deeok:matrix.org left the room.23:16:28
8 Jun 2025
@pink_rocky:tchncs.derocky ((λ💝.💝)💐) (she/they; ask before DM please) No, I’m using the command I saw in the README:
sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount ./etc/nixos/disk-config.nix, which I run inside /mnt with my configurations
00:26:16
@pink_rocky:tchncs.derocky ((λ💝.💝)💐) (she/they; ask before DM please) I’ll work on that pastebin for you. 01:37:59
@musicmatze:beyermatthi.asmusicmatze

Hello again.
If I use disko to set up my ZFS datasets, but do not mount them during boot (because they are encrypted and the machine must boot without attendence), how can I get the path where ZFS would mount the dataset if I manually zfs mount -a (for example)?

Right now all I can see is (in nix repl): outputs.nixosConfigurations.myHost.config.disko.devices.zpool.zroot.datasets."myDataSet"._name - which does look like something internal I should not base my configuration on, should I?
Because the dataset is not marked for automatic mounting, the attribute outputs.nixosConfigurations.myHost.config.disko.devices.zpool.zroot.datasets."myDataSet".mountpoint is null.

08:55:41
@phaer:matrix.orgphaerIf you don't set a static mountpoint in your disko config, I don't think it's possible for the general case during eval time. I think if you leave it empty the default should just be "/${dataset.name}"? During run time you could just do "zfs get mountpoint dataset"12:31:07
@musicmatze:beyermatthi.asmusicmatze So from what I found during research is that I should use options.mountpoint = "legacy"; and then declare my fileSystems with the filesystems that should be mounted automatically, and for others I must find a better way. Like hard coding stuff maybe 13:07:10
@musicmatze:beyermatthi.asmusicmatzeSo... Can I just write my own systemd mount unit for datasets I do not want to mount automatically? And if yes, how can I tell systemd that the dataset encryption password has to be retrieved from the user? I suppose there's ways... Because with a unit, I can make other units depend on it (like for starting navidrome only if the dataset with the music is mounted)13:13:34
9 Jun 2025
@austinbutler:matrix.orgAustin joined the room.03:28:26
@schuelermine:matrix.orgschuelermine joined the room.20:13:58
@schuelermine:matrix.orgschuelermineIs there a way to configure a swap file using Disko?20:14:09
@schuelermine:matrix.orgschuelerminespecifically, a swap file on an ext4 in LUKS partition20:14:21
@disco_stick:matrix.orgredesign your logo changed their display name from Take the I-Whatever to Desolation to SS Bullshit Dreams.20:43:55
@spaenny:tchncs.deSpaenny changed their display name from Spaenny to Philipp.20:46:24
10 Jun 2025
@caraiiwala:beeper.comcaraiiwala joined the room.00:26:37
@caraiiwala:beeper.comcaraiiwala

I'm new to ZFS and trying to convert my RAID setup to Disko. The deployment with nixos-anywhere was successful, but once rebooted, the system failed to boot. Here is my disko configuration:

      {
        disko.devices = {
          disk = {
            root = {
              type = "disk";
              device = "/dev/disk/by-id/...";
              content.type = "gpt";
              content.partitions = {
                ESP = {
                  type = "EF00";
                  size = "64M";
                  content = {
                    type = "filesystem";
                    format = "vfat";
                    mountpoint = "/boot";
                  };
                };
                zfs = {
                  size = "100%";
                  content.type = "zfs";
                  content.pool = "root";
                };
              };
            };
            raid-1 = {
              type = "disk";
              device = "/dev/disk/by-id/...";
              content.type = "gpt";
              content.partitions.zfs = {
                size = "100%";
                content.type = "zfs";
                content.pool = "raid";
              };
            };
            raid-2 = {
              type = "disk";
              device = "/dev/disk/by-id/...";
              content.type = "gpt";
              content.partitions.zfs = {
                size = "100%";
                content.type = "zfs";
                content.pool = "raid";
              };
            };
            raid-3 = {
              type = "disk";
              device = "/dev/disk/by-id/...";
              content.type = "gpt";
              content.partitions.zfs = {
                size = "100%";
                content.type = "zfs";
                content.pool = "raid";
              };
            };
          };
          zpool = {
            root = {
              type = "zpool";
              rootFsOptions.mountpoint = "none";
              datasets = {
                root.type = "zfs_fs";
                root.mountpoint = "/";
                home.type = "zfs_fs";
                home.mountpoint = "/home";
              };
            };
            raid = {
              type = "zpool";
              rootFsOptions.mountpoint = "none";
              mode.topology.type = "topology";
              mode.topology.vdev = [
                {
                  mode = "raidz1";
                  members = ["raid-1" "raid-2" "raid-3"];
                }
              ];
              datasets.raid = {
                type = "zfs_fs";
                mountpoint = "/mnt/raid";
              };
            };
          };
        };
      }
00:45:00
@s:consortium.chatshelvacu you need to either use dataset option mountpoint=legacy and configure mountpoints with usual fstab (which i recommend for root fs, "legacy" is a misnomer) or tell zfs to run an import in initrd 01:20:28
@s:consortium.chatshelvacuhttps://search.nixos.org/options?channel=25.05&show=boot.zfs.extraPools&from=0&size=50&sort=relevance&type=packages&query=boot+zfs01:21:45
@caraiiwala:beeper.comcaraiiwala

Thanks for responding. I actually tried booting it with an even simpler non-ZFS config and I'm having the same issue:

          disko.devices = {
            disk = {
              root = {
                type = "disk";
                device = "/dev/disk/by-id/scsi-36b82a720cf60ce002fd94d2e2991b17e";
                content.type = "gpt";
                content.partitions = {
                  ESP = {
                    type = "EF00";
                    size = "64M";
                    content = {
                      type = "filesystem";
                      format = "vfat";
                      mountpoint = "/boot";
                      mountOptions = ["umask=077"];
                    };
                  };
                  root = {
                    size = "100%";
                    content.type = "filesystem";
                    content.format = "ext4";
                    content.mountpoint = "/";
                  };
                };
              };
            };
          };
01:28:56
@caraiiwala:beeper.comcaraiiwala So now I'm very confused 01:29:13
@caraiiwala:beeper.comcaraiiwala Well I've just tried an identical simple config on another system and it worked fine 02:03:10

Show newer messages


Back to Room ListRoom Version: 10