!oNSIfazDqEcwhcOjSL:matrix.org

disko

364 Members
disko - declarative disk partitioning - https://github.com/nix-community/disko92 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
6 Jun 2025
@s:consortium.chatshelvacu
In reply to @francesco:zanini.me
My assumption was correct: the issue starts here: https://github.com/nix-community/disko/blob/17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6/lib/default.nix#L970

Basically I have root (tmpfs), a writable partition at /system, and a bind mount /nix -> /system/nix.
im not super familiar with disko but it seems youve found proof that mount ordering simply isnt implemented (other than /a before /a/b because alphabetical)
12:09:44
@s:consortium.chatshelvacuif its any help, once disko configures fileSystems.* in a nixos config it should all just work12:10:41
@francesco:zanini.mefrancesco I'm wondering if it would make sense to implement fileSystem.<name>.depends also from within disko? By doing so, disko can use this information for ordering, as well as populate the entry in nixos. Alternatively, adapt disko to do something similar to what nixos does without extra config (figure out fs dependencies automatically, by looking at their mountpoints) 12:12:52
@s:consortium.chatshelvacuthat would be neat imo12:13:31
@francesco:zanini.mefrancesco

I just opened two PRs about the above:

  • https://github.com/nix-community/disko/pull/1056
  • https://github.com/nix-community/disko/pull/1057
15:42:53
@fynn:thewatcherpi.deFynn joined the room.16:32:16
@fynn:thewatcherpi.deFynnHi! I'm currently trying to set up a machine with encrypted ZFS on root following the example: https://github.com/nix-community/disko/blob/master/example/zfs-encrypted-root.nix Now I am a bit confused on how I can set the encryption passphrase, since I am not prompted during the disko run. There is keylocation commented out in the file, can I use the for the nixos installer and switch to the prompt afterward?16:35:33
@fynn:thewatcherpi.deFynn Alright turns out it does prompt, but to encrypt the pool I have to use rootFsOptions instead of options :) 16:49:47
7 Jun 2025
@s:consortium.chatshelvacu
In reply to @fynn:thewatcherpi.de
Alright turns out it does prompt, but to encrypt the pool I have to use rootFsOptions instead of options :)
im surprised it doesn't error the other way around. it should tell you encryption is an invalid pool option, or similar
04:20:47
@fynn:thewatcherpi.deFynnI only saw, that it was not able to mount the datasets. When I changed the keylocation to a file, it said that it was an invalid option. Could be that I overlooked it on the first run though.07:39:52
@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

Show newer messages


Back to Room ListRoom Version: 10