| 14 Mar 2026 |
Mic92 | but also not sure if this is that is the problem either | 16:37:56 |
matthewcroughan | networking.hostId = "b7f38c2e"; # ZFS needs this set
services.zfs.autoScrub.enable = true;
boot = {
supportedFilesystems = [ "zfs" ];
};
disko.devices = {
disk = {
disk1 = {
device = "/dev/disk/by-id/usb-Realtek_RTL9210B-CG_012345679039-0:0";
type = "disk";
content = {
type = "gpt";
partitions = {
ESP = {
type = "EF00";
size = "2G";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
zfs = {
size = "100%";
content = {
type = "zfs";
pool = "edpool";
};
};
};
};
};
};
zpool = {
edpool = {
type = "zpool";
rootFsOptions = {
acltype = "posixacl";
compression = "zstd";
dnodesize = "auto";
normalization = "formD";
relatime = "on";
xattr = "sa";
};
options = {
ashift = "12";
autotrim = "on";
};
datasets = {
"root" = {
type = "zfs_fs";
options = {
mountpoint = "legacy";
};
mountpoint = "/";
};
"nix" = {
type = "zfs_fs";
options.mountpoint = "legacy";
mountpoint = "/nix";
};
"var" = {
type = "zfs_fs";
options.mountpoint = "legacy";
mountpoint = "/var";
};
"home" = {
type = "zfs_fs";
mountpoint = "/home";
options.mountpoint = "legacy";
};
};
};
};
};
}
| 16:38:25 |
matthewcroughan | That's my disko config | 16:38:28 |
matthewcroughan | I was thinking btw, disko could auto generate the networking.hostId based on a hash of the device | 16:38:52 |
matthewcroughan | * I was thinking btw, disko could auto generate the networking.hostId based on a hash of the device in pure nix | 16:38:55 |
matthewcroughan | one less thing to worry about | 16:39:01 |
Mic92 | in srvos we set a fixed hostid | 16:39:43 |
Mic92 | But it feels a bit overarching for disko to set this. It's a disk partitioning framework | 16:40:19 |
Mic92 | * in srvos we set a fixed hostid for all machines | 16:40:24 |
Mic92 | * But it feels a bit overarching for disko to set this. It's a disk partitioning framework and this feels more like general NixOS configuration | 16:40:42 |
matthewcroughan | Ah sure, I guess you could just do the hashing trick that I mentioned in your own config | 16:47:24 |
Mic92 | honestly I don't think this even needs hashing | 16:48:39 |
Mic92 | I have seen no usecase yet for a per machine hostid, except if you have zfs hosted on iscsi network block devices and want to prevent accidents. | 16:49:11 |
Mic92 | having the same hostid on your installer as on your machine makes things much easier to manage, which is why I set the the same hostid that the nixos installer uses | 16:49:46 |
matthewcroughan | It's a per pool id isn't it? | 16:51:27 |
matthewcroughan | the host id of the machine and pool are tied together so that you can't plug one pool into another pool | 16:51:56 |
matthewcroughan | * the host id of the machine and pool are tied together so that you can't plug one pool into another machine | 16:51:59 |
matthewcroughan | * the host id of the machine and pool are tied together so that you can't plug one pool into another machine, right? | 16:52:02 |
matthewcroughan | So atm I cannot use disko to create disk images, because the kernel panics, and this has always been a buggy feature since 2024 evben | 16:54:23 |
matthewcroughan | * So atm I cannot use disko to create disk images, because the kernel panics, and this has always been a buggy feature since 2024 even | 16:54:25 |
matthewcroughan | Like, I haven't observed a scenario where disko image creation actually works as intended | 16:54:35 |
matthewcroughan | It's not like I haven't contributed bug fixes, changes, I have | 16:54:51 |
matthewcroughan | Are there any actual users? | 16:55:02 |
matthewcroughan | * Are there any actual users of that feature? | 16:55:48 |
matthewcroughan | Ah maybe the reason your tests don't catch it is because of something the tests do that is different from actual usage | 16:59:42 |
matthewcroughan | The existence of makeDiskoTest makes actual usage by real users, and your tests, divergent | 17:00:00 |
matthewcroughan | Actually another thing the disko image builder isn't taking into account, is the closure size of the toplevel it is installing | 17:01:45 |
matthewcroughan | ed-disko-images> + sgdisk --align-end --new=1:0:+2G --partition-guid=1:R --change-name=1:disk-disk1-ESP --typecode=1:EF00 --attributes=1:=:0 /dev/vda
ed-disko-images> Could not create partition 1 from 2048 to 4196351
ed-disko-images> Unable to set partition 1's name to 'disk-disk1-ESP'!
ed-disko-images> Could not change partition 1's type code to EF00!
ed-disko-images> Error encountered; not saving changes.
ed-disko-images> + sgdisk --partition-guid=1:R --change-name=1:disk-disk1-ESP --typecode=1:EF00 --attributes=1:=:0 /dev/vda
ed-disko-images> Unable to set partition 1's name to 'disk-disk1-ESP'!
ed-disko-images> Could not change partition 1's type code to EF00!
ed-disko-images> Error encountered; not saving changes.
| 17:06:53 |
matthewcroughan | Is that supposed to happen? lassulus | 17:07:05 |
matthewcroughan | BTW, this is the actual disko tests in disko's repo
vm-test-run-disko-zfs> machine # /dev/vdc: PTUUID="a4ebef6e-5fb0-4a75-9bb9-3f1de3c80709" PTTYPE="gpt"
vm-test-run-disko-zfs> machine # + sgdisk --align-end --new=1:0:-0 --partition-guid=1:R --change-name=1:disk-y-zfs --typecode=1:8300 --attributes=c
vm-test-run-disko-zfs> machine # Could not create partition 1 from 8386560 to 8388574
vm-test-run-disko-zfs> machine # Error encountered; not saving changes.
| 17:08:13 |