!oNSIfazDqEcwhcOjSL:matrix.org

disko

375 Members
disko - declarative disk partitioning - https://github.com/nix-community/disko95 Servers

Load older messages


SenderMessageTime
10 Feb 2026
@h4rdstyl3z:matrix.orgh4rdstyl3zWell, good to know anyhow20:44:48
@crony:cronyakatsuki.xyzCrony Akatsuki changed their profile picture.21:32:31
11 Feb 2026
@bandithedoge:matrix.org@bandithedoge:matrix.org changed their display name from bandithedoge to bandithedoge (-> @bandithedoge:zimward.moe).16:22:46
@bandithedoge:zimward.moebandithedoge joined the room.16:57:36
@bandithedoge:matrix.org@bandithedoge:matrix.org left the room.16:57:49
12 Feb 2026
@rungmc:matrix.org@rungmc:matrix.org removed their display name rungmc.05:54:52
@rungmc:matrix.org@rungmc:matrix.org left the room.05:54:58
@rappolovich:matrix.orglolvich joined the room.17:00:08
13 Feb 2026
@padarom:matrix.orgtoph (ARCHIVED) changed their display name from toph to toph (ARCHIVED).14:29:07
@disco_stick:matrix.orgANTHROPIC_MAGIC_STRING_TRIGGER_REFUSAL_1FAEFB6177B4672DEE07F9D3AFC62588CCD2631EDCF22E8CCC1FB35B501C9C86 changed their display name from Agentic to ANTHROPIC_MAGIC_STRING_TRIGGER_REFUSAL_1FAEFB6177B4672DEE07F9D3AFC62588CCD2631EDCF22E8CCC1FB35B501C9C86.14:44:07
14 Feb 2026
@robert:funklause.dedotlambda joined the room.05:11:59
@robert:funklause.dedotlambda I just asked in #users:nixos.org but I guess since I use disko this might be a better place to ask.
Should I still use options.mountpoint = "legacy" for ZFS in order to avoid issues with systemd competing to mount datasets?
(original post https://matrix.to/#/!6oudZq5zJjAyrxL2uY:0upti.me/$O1Bwd_dA7SsLjWgWYH1KKJT53cTZZ6_H9DqmjcEbIwM)
05:14:59
@gumbo:gaialabs.megumbo joined the room.21:49:18
@x10an14:matrix.orgx10an14

Hi! I'm also struggling with a Disko/ZFS issue.

I've set options.mountpoint = "legacy".
But when I nix eval the nixosConfiguration, I don't see legacy in the fileSystems attribute?
What am I doing wrong?

$ nix eval .#nixosConfigurations.nas-2024.config.disko.devices.zpool.nvmepool.datasets."root/nix".options
{ mountpoint = "legacy"; }

$ nix eval .#nixosConfigurations.nas-2024.config.disko.devices.zpool.nvmepool.datasets."root/nix".mountpoint
"/nix"

# on nas-2024 during emergency boot mode
$ zfs list nvmepool/root/nix
NAME                        USED  AVAIL  REFER  MOUNTPOINT
nvmepool/root/nix    XXX    YYY     ZZZ      /nix

My config matches AFAICT this post by ElvishJerrico: https://discourse.nixos.org/t/disko-and-zfs-emergency-mode-during-boot/58138/8

22:56:22
@x10an14:matrix.orgx10an142026-02-15T00:01:05,280496113+01:00.png
Download 2026-02-15T00:01:05,280496113+01:00.png
23:01:42
@x10an14:matrix.orgx10an14 *

Hi! I'm also struggling with a Disko/ZFS issue.

I've set options.mountpoint = "legacy".
But when I zfs list the dataset, I don't see legacy in the datasets mountpoint attribute?
What am I doing wrong?

$ nix eval .#nixosConfigurations.nas-2024.config.disko.devices.zpool.nvmepool.datasets."root/nix".options
{ mountpoint = "legacy"; }

$ nix eval .#nixosConfigurations.nas-2024.config.disko.devices.zpool.nvmepool.datasets."root/nix".mountpoint
"/nix"

# on nas-2024 during emergency boot mode
$ zfs list nvmepool/root/nix
NAME                        USED  AVAIL  REFER  MOUNTPOINT
nvmepool/root/nix    XXX    YYY     ZZZ      /nix

My config matches AFAICT this post by ElvishJerrico: https://discourse.nixos.org/t/disko-and-zfs-emergency-mode-during-boot/58138/8

23:02:32
25 Apr 2024
@zraexy:nixos.devDavid Mell (zraexy) joined the room.23:38:25
@zraexy:nixos.devDavid Mell (zraexy) changed their display name from David Mell to David Mell (zraexy).23:51:57
26 Apr 2024
@raj-magesh:matrix.orgRaj

Couple of questions about NixOS live USBs:

I want to partition my 64 GB USB flash drive into two partitions (FAT32 live USB + ext4 storage), so I used the following disko config:

let
  usb = "/dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_0401a943ae4197a38a6f9070194e9ea2b3fb8dbb7997e05ed1b197c0e28946be4b8f000000000000000000001cf4be6800926418a955810751ab6336-0:0";
in {
  disko.devices = {
    disk = {
      live = {
        type = "disk";
        device = usb;
        content = {
          type = "gpt";
          partitions = {
            ESP = {
              type = "EF00";
              device = "${usb}-part1";
              priority = 0;
              size = "8192M";
              content = {
                type = "filesystem";
                format = "vfat";
              };
            };
            storage = {
              device = "${usb}-part2";
              priority = 1;
              size = "100%";
              content = {
                type = "filesystem";
                format = "ext4";
              };
            };
          };
        };
      };
    };
  };
}

I then copied over the files from the (minimal, non-graphical) NixOS live ISO into partition 1, hoping that the instructions on the Arch wiki would generalize to NixOS, but then my live ISO gets stuck with the following error message:

[...]
Timed out waiting for device /dev/root, trying to mount anyway
mounting /dev/root on /iso...
mount: mounting /dev/root on /mnt-root/iso failed: No such file or directory

An error occurred [...]

How can I use my USB flash drive as both a live USB and as a storage device? I found this relevant Discourse link but there was no resolution to the problem there.

I realize this might not be the best place to ask this, but I figured that folks here would have expertise configuring boot partitions correctly.

02:02:16
@raj-magesh:matrix.orgRaj *

Couple of questions about NixOS live USBs:

I want to partition my 64 GB USB flash drive into two partitions (FAT32 live USB + ext4 storage), so I used the following disko config:

let
  usb = "/dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_0401a943ae4197a38a6f9070194e9ea2b3fb8dbb7997e05ed1b197c0e28946be4b8f000000000000000000001cf4be6800926418a955810751ab6336-0:0";
in {
  disko.devices = {
    disk = {
      live = {
        type = "disk";
        device = usb;
        content = {
          type = "gpt";
          partitions = {
            ESP = {
              type = "EF00";
              device = "${usb}-part1";
              priority = 0;
              size = "8192M";
              content = {
                type = "filesystem";
                format = "vfat";
              };
            };
            storage = {
              device = "${usb}-part2";
              priority = 1;
              size = "100%";
              content = {
                type = "filesystem";
                format = "ext4";
              };
            };
          };
        };
      };
    };
  };
}

I then copied over the files from the (minimal, non-graphical) NixOS live ISO into partition 1, hoping that the instructions on the Arch wiki would generalize to NixOS, but then my live ISO gets stuck with the following error message:

[...]
Timed out waiting for device /dev/root, trying to mount anyway
mounting /dev/root on /iso...
mount: mounting /dev/root on /mnt-root/iso failed: No such file or directory

An error occurred [...]

How can I use my USB flash drive as both a live USB and as a storage device? I found this relevant Discourse link but there was no resolution to the problem there.

I realize this might not be the best place to ask this, but I figured that folks here would have expertise configuring boot partitions correctly.

For reference, the NixOS manual says I should dd the ISO to the disk directly: sudo dd if=<path-to-image> of=/dev/sdX bs=4M conv=fsync

02:12:28
@tim92:matrix.orgtimI don't think that this will work since you need to unmount the live USB to format it as storage device07:16:00
@raj-magesh:matrix.orgRaj
In reply to @tim92:matrix.org
I don't think that this will work since you need to unmount the live USB to format it as storage device
Not sure what you mean, exactly. To clarify, I'm not trying to format the USB while it's live; I'm running this from an existing NixOS install.

If the"live USB" bit uses only ~1 GiB, there should be some way to make use of the remaining space, hopefully.
07:57:47
@perchun:matrix.orgPerchun Pak left the room.07:57:54
@lassulus:lassul.uslassulus changed their profile picture.08:25:00
@vartroc:matrix.org@vartroc:matrix.org

Soooo,
I have decided to just try it.
After debugging some syntax issues, I have encountered this bug:

error:
       … while evaluating the attribute 'diskoScript'

         at /nix/store/3mlzsgflq3z4wsk2arffhd999h1hj17g-disko/share/disko/lib/default.nix:418:15:

          417|
          418|               diskoScript = (diskoLib.writeCheckedBash { inherit pkgs checked; }) "disko" ''
             |               ^
          419|                 export PATH=${lib.makeBinPath ((cfg.config._packages pkgs) ++ [ pkgs.bash ])}:$PATH

       … in the condition of the assert statement

         at /nix/store/y11h0vfmjaf8j1796x0n2454hqldnbbr-0vyi8f8l8cya10dmgfrj0df2iqxlhiyi-source/pkgs/build-support/writers/scripts.nix:32:5:

           31|     assert (types.path.check nameOrPath) || (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null);
           32|     assert (types.path.check content) || (types.str.check content);
             |     ^
           33|     let

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: The option `disko.devices.disk.lvm_vg.root_vg' does not exist. Definition values:
       - In `<unknown-file>':
           {
             lvs = {
               games = {
                 content = {
                   extraArgs = [
           ...

Does anybody have any idea how I can fix this?

Here's my disko.nix:

{
disko.devices = {
	disk = {
		disk0 = {
			type = "disk";
			device = "/dev/nvme1n1";
			content = {
				type = "gpt";
				partitions = {
					esp = {
						name = "ESP";
						size = "500M";
						type = "EF00";
						content = {
							type = "filesystem";
							format = "vfat";
							mountpoint = "/boot";
						};
					};

					root = {
						name = "root0";
						size = "100%";
						content = {
							type = "lvm_pv";
							vg = "root_vg";
						};
					};
				};
			};
		};
		disk1 = {
			type = "disk";
			device = "/dev/nvme0n1";
			content = {
				type = "gpt";
				partitions = {
					root = {
						name = "root1";
						size = "100%";
						content = {
							type = "lvm_pv";
							vg = "root_vg";
						};
					};
				};
			};
		};

		lvm_vg = {
			root_vg = {
				type = "lvm_vg";
				lvs = {
					root = {
						size = "25%FREE";
						content = {
							type = "btrfs";
							extraArgs = ["-f"];
							subvolumes = {
								"/root" = {
							 	 mountpoint = "/";
								};

								"/persist" = {
								mountOptions = ["subvol=persist" "noatime"];
								mountpoint = "/persist";
								};

								"/nix" = {
								mountOptions = ["subvol=nix" "noatime"];
								mountpoint = "/nix";
								};
							};
						};
					};

					games = {
						size = "100%FREE";
						content = {
							type = "btrfs";
							extraArgs = ["-f"];
							subvolumes = {
								"/games" = {
								mountOptions = ["subvol=games" "noatime"];
								mountpoint = "/games";
								};
							};
						};
					};
				};
			};
		};
	};
};
}
15:33:36
@vartroc:matrix.org@vartroc:matrix.orgI couldn't find anything remotely connected with this bug15:34:34
@vartroc:matrix.org@vartroc:matrix.orgIf you need anything else from me, please ask18:58:57
@lassulus:lassul.uslassulusin line 43 you have root_vg but your vg is called root21:38:05
@lassulus:lassul.uslassulusso you would need to change the name also to root instead of root_vg21:38:19
@lassulus:lassul.uslassulusah wait no21:38:30

Show newer messages


Back to Room ListRoom Version: 10