| 6 Jun 2025 |
| francesco joined the room. | 07:06:03 |
rocky ((Ī»š.š)š) (she/they; ask before DM please) | @shelvacu Thank you for the help! I will give you that info later | 07:35:28 |
francesco | Hey folks, quick question: I'm trying to setup a bind mount that points to a file system part of a disk managed by disko. I am unable to build the disk image because the order of operation is wrong:
- disks and filesystems created
- (a file-system irrelevant to this issue is mounted)
- bind mount tried, but source fs not mounted
- (I assume here it would mount the source fs)
Is there anything I can do to influence the order? I tried messing around with _meta.deviceDependencies but without much success.
| 11:59:29 |
shelvacu | you should be able to look at the script produced by disko and confirm #4 | 12:01:32 |
shelvacu | which would be good to check since its a very different issue if its mounted nowhere | 12:02:08 |
francesco | Thanks let me check that. | 12:03:07 |
francesco | 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. | 12:06:37 |
francesco | the mount order is currently:
- root
- /nix (bind)
- /system/nix
I guess a possible work-around would be to call system anything that is lexicographically before nix?
| 12:08:00 |
shelvacu | 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 |
shelvacu | if its any help, once disko configures fileSystems.* in a nixos config it should all just work | 12:10:41 |
francesco | 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 |
shelvacu | that would be neat imo | 12:13:31 |
francesco | 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 joined the room. | 16:32:16 |
Fynn | Hi! 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 | 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 |
shelvacu | 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 | I 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 | Is Disko able to add to my existing zfs datasets? | 18:16:57 |
musicmatze | So if I create a new dataset in the config, will it generate it upon nixos-rebuild? | 18:17:19 |
Sandro š§ | I don't think so | 18:25:38 |
Sandro š§ | at least I have been always manually reconciling that | 18:25:43 |
lassulus | theoretically you can run the format part of the script again | 19:22:28 |
lassulus | but better check what it would run beforehand :) | 19:22:37 |
musicmatze | 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 | 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 | That sounds much better š | 19:30:47 |
| @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 left the room. | 23:16:28 |
| 8 Jun 2025 |
rocky ((Ī»š.š)š) (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 |