| 3 Mar 2025 |
lassulus | but that is relatively new and untested behavior :) | 04:22:25 |
lassulus | be sure not to run the diskoScript, as this will wipe the drives beforehand | 04:22:43 |
Raj | I'd like to have this external HDD sometimes plugged in and other times removed, but automatically have LUKS unlocked at boot whenever it's connected. If I remove the disk, the boot process fails at stage 1. Is there a setting I can adjust to fix this apart from mountOptions = ["nofail"]? I'm not too familiar with the initrdUnlock argument: I presume it's what asks for my LUKS password after booting?
backup_1 = {
device = hdd_1;
content = {
type = "gpt";
partitions = {
backup_1 = {
device = "${hdd_1}-part1";
priority = 0;
end = "-0";
content = {
type = "luks";
name = "backup_1";
initrdUnlock = true;
extraFormatArgs = ["--pbkdf argon2id"];
content = {
type = "btrfs";
extraArgs = ["-f"];
mountpoint = "/backup/drive_1";
mountOptions = ["compress=zstd" "noatime" "nofail"];
};
};
};
};
};
};
| 04:30:48 |
myxos | @lassulus You mean don't run the script that was generated by --dry-run? | 04:31:44 |
lassulus | myxos: that one probably has the disk-deactivate bit at the start, so you could skip that part, and the part of mounting at the end, or run with --mode format | 04:33:49 |
myxos | Gotcha, I'll try that out, thanks! | 04:44:21 |
lassulus | Raj: hmm, the initrdUnlock adds this to the boot.initrd nixos config, so booting will fail if the device is not available. I don't see an easy way to disable that in nixos, alternative would be to not have the initrdUnlock and unlock it after booting | 04:48:05 |
Raj | Got it, thank you! | 04:49:04 |
myxos | @lassulus just to update, adding the dataset via Disko configuration caused my system to crash, and I had to roll back to a previous configuration. I needed to first manually create the dataset (zfs create ...), after which I could update the Nix config (for posterity) without error. | 17:13:34 |
lassulus | ah did you run the create script manually before switching? | 17:14:47 |
myxos | Yep | 17:16:55 |
lassulus | and it still crashed? I'm a bit confused why it worked manually afterwards | 17:17:35 |
myxos | Oh, I did not manually run the create script manually before switching at first. That's when it crashed. | 17:18:22 |
myxos | I was initially hoping the changes to the disko config would be smart enough to just create the new dataset (a bit risky, I know, but no harm done) | 17:19:09 |
lassulus | ah, yeah that was the missing step I guess, but looking at my history I just said looking at it :D | 17:19:13 |
lassulus | I meant looking at it and running it if it looks fine :) | 17:19:31 |
lassulus | that step doesn't happen automatically with disko (yet?) | 17:19:54 |
lassulus | because it's not widely tested and I don't want people to lose data | 17:20:13 |
myxos | I didn't end up running the whole generated disko script, just the zfs create command | 17:20:12 |
lassulus | ah ok, so we will never know if it would have broken something :) | 17:20:30 |
myxos | That's certainly understandable | 17:20:34 |
myxos | Thanks for your help, and for your contributions to this tool, it's great! | 17:22:20 |
myxos | Maybe on my next throwaway system I'll test running the script to see if it borks anything 🙂 | 17:23:40 |
| @cent:neuland.enterprises joined the room. | 18:20:36 |
@cent:neuland.enterprises | Hi, is it possible to use disko on an already installed nixos system? | 18:21:56 |
@cent:neuland.enterprises | I would like to configure my btrfs subvolumes in disko | 18:23:12 |
@cent:neuland.enterprises | (While I originally installed the system I'm talking about with nixos-anywhere and disko I used a dummy flake and later rebuild the system with my usual flake) | 18:24:09 |
| 4 Mar 2025 |
| tiddy- joined the room. | 15:59:44 |
tiddy- | Hey!
Looking to use disko with nix-anywhere for some cluster management (Arguably foaming at the mouth with how simple it looks). My file-system of choice is bcachefs, mainly because the low-cost snapshots and SSD caching.
Looking through the disko examples (and any other sources I've found online) I cant seem to find where to pass CLI formatting options to bcachefs to support options like foreground/background read/writes, encryption, and the like.
Is this a supported configuration by disko? If not (if anyone has time) could someone point me to the working file that actually formats the disk? Might try my hand at implementing something like it. I've found the disko script, but I'd have to brush up on my bash to confirm its the script calling the format command.
Thanks in advance! | 16:08:09 |
projectinitiative | I was also looking to do the same thing! Unfortunately in the current form, only simple single disk formatting via the mkfs bindings are supported. I created a branch to explore the more advanced use cases, and it does work (ish) for a more advanced setup.
However there are some caveats that will prevent the code from being merged into disko because of the reliance on some external configurations, and a newer kernel implementation. If you are interested, I can write up some basic instructions. If you are feeling like exploring yourself in the meantime, here is how I am using it to provision one of my servers:
https://github.com/ProjectInitiative/dotfiles/blob/main/systems/x86_64-linux/capstan2/default.nix
and my fork of disko:
https://github.com/ProjectInitiative/disko/blob/master/example/bcachefs-multi-disk.nix | 16:34:12 |