| 5 Jan 2025 |
lassulus | yeah, those usually conflict with disko, you can run nixos-generate-config with --no-filesystems | 13:12:28 |
| 6 Jan 2025 |
Raj | I'm trying to use the disko-install command to create a custom bootable USB that has an entire NixOS system (including persistent storage and access to git and neovim, plus a few other goodies).
After running sudo nix run 'github:nix-community/disko/latest#disko-install' -- --flake .#image --disk os /dev/sdc, things seem to get built/copied etc., but it finally halts with this error:
My disko (and NixOS configuration) is pretty simple and the problem occurs even with a minimal configuration (so I don't think it's the issue) but I can share it if required.
| 00:47:39 |
Raj | * Sorry, mini-bump:
I'm trying to use the disko-install command to create a custom bootable USB that has an entire NixOS system (including persistent storage and access to git and neovim, plus a few other goodies).
After running sudo nix run 'github:nix-community/disko/latest#disko-install' -- --flake .#image --disk os /dev/sdc, things seem to get built/copied etc., but it finally halts with this error:
efiSysMountPoint = '/boot' is not a mounted partition. Is the path configured correctly?
Traceback (most recent call last):
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 431, in <module>
main()
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 411, in main
run([CHECK_MOUNTPOINTS])
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 58, in run
return subprocess.run(cmd, check=True, text=True, stdout=stdout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/c9m6yd8fg1flz2j5r4bif1ib5j20a0cy-python3-3.12.8/lib/python3.12/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/nix/store/686vaqa40l0vxcp1ll54cbvlrmn9kn55-check-mountpoints']' returned non-zero exit status 1.
Failed to install bootloader
disko-install failed
rmdir: failed to remove '/mnt/disko-install-root': Directory not empty
My disko (and NixOS configuration) is pretty simple and the problem occurs even with a minimal configuration:
{
disko.devices = {
nodev."/" = {
fsType = "tmpfs";
mountOptions = [
"size=2G"
"defaults"
"mode=755"
];
};
nodev."/home/raj" = {
fsType = "tmpfs";
mountOptions = [
"size=2G"
"defaults"
"mode=777"
];
};
disk = {
os = {
imageName = "nixos-usb-stick";
imageSize = "60G";
type = "disk";
content = {
type = "gpt";
partitions = {
ESP = {
type = "EF00";
priority = 0;
end = "1G";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["defaults" "umask=0077"];
};
};
root = {
priority = 1;
end = "-0";
content = {
type = "luks";
name = "root";
initrdUnlock = true;
extraFormatArgs = ["--pbkdf argon2id"];
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
"/persist" = {
mountpoint = "/persist";
mountOptions = ["compress=zstd" "noatime"];
};
"/data" = {
mountpoint = "/data";
mountOptions = ["compress=zstd" "noatime"];
};
};
};
};
};
};
};
};
};
};
}
Is there anything obvious I'm missing?
| 00:49:13 |
Raj | * Sorry, mini-bump:
I'm trying to use the disko-install command to create a custom bootable USB that has an entire NixOS system (including persistent storage and access to git and neovim, plus a few other goodies).
After running sudo nix run 'github:nix-community/disko/latest#disko-install' -- --flake .#image --disk os /dev/sdc, things seem to get built/copied etc., but it finally halts with this error:
efiSysMountPoint = '/boot' is not a mounted partition. Is the path configured correctly?
Traceback (most recent call last):
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 431, in <module>
main()
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 411, in main
run([CHECK_MOUNTPOINTS])
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 58, in run
return subprocess.run(cmd, check=True, text=True, stdout=stdout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/c9m6yd8fg1flz2j5r4bif1ib5j20a0cy-python3-3.12.8/lib/python3.12/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/nix/store/686vaqa40l0vxcp1ll54cbvlrmn9kn55-check-mountpoints']' returned non-zero exit status 1.
Failed to install bootloader
disko-install failed
rmdir: failed to remove '/mnt/disko-install-root': Directory not empty
My disko (and NixOS configuration) is pretty simple and the problem occurs even with a minimal configuration:
{
disko.devices = {
nodev."/" = {
fsType = "tmpfs";
mountOptions = [
"size=2G"
"defaults"
"mode=755"
];
};
nodev."/home/raj" = {
fsType = "tmpfs";
mountOptions = [
"size=2G"
"defaults"
"mode=777"
];
};
disk = {
os = {
imageName = "nixos-usb-stick";
imageSize = "60G";
type = "disk";
content = {
type = "gpt";
partitions = {
ESP = {
type = "EF00";
priority = 0;
end = "1G";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["defaults" "umask=0077"];
};
};
root = {
priority = 1;
end = "-0";
content = {
type = "luks";
name = "root";
initrdUnlock = true;
extraFormatArgs = ["--pbkdf argon2id"];
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
"/persist" = {
mountpoint = "/persist";
mountOptions = ["compress=zstd" "noatime"];
};
"/data" = {
mountpoint = "/data";
mountOptions = ["compress=zstd" "noatime"];
};
};
};
};
};
};
};
};
};
};
}
Is there anything obvious I'm missing?
| 19:29:14 |
| 7 Jan 2025 |
| かえでちゃん joined the room. | 11:42:04 |
かえでちゃん | Hello, do disko supports luks2? I see documentation for luks but not luks2 | 11:43:40 |
lassulus | cryptsetup defaults to LUKS2, so we more or less only support LUKS2 | 11:51:35 |
| SigmaSquadron changed their display name from SigmaSquadron to SigmaSquadron (Away until 2024-01-12). | 19:35:51 |
| Renato Trevisan set a profile picture. | 21:58:46 |
| 9 Jan 2025 |
| @intergalactic-turtle-fucker:arcticfoxes.net changed their display name from IntergalacticTurtleFucker to ColdSideOfYourPillow. | 03:00:25 |
| @intergalactic-turtle-fucker:arcticfoxes.net changed their profile picture. | 03:00:33 |
| lgcl (she/they) joined the room. | 13:24:48 |
| 10 Jan 2025 |
| laurynasp joined the room. | 19:50:23 |
| SigmaSquadron changed their display name from SigmaSquadron (Away until 2024-01-12) to SigmaSquadron (Away until 2024-01-11). | 22:15:58 |
| SigmaSquadron changed their display name from SigmaSquadron (Away until 2024-01-11) to SigmaSquadron (Away until 2025-01-11). | 22:43:36 |
Sávio | https://github.com/nix-community/disko/pull/936 minor fix | 23:32:18 |
Sávio | https://github.com/nix-community/disko/pull/923/files I noticed this one. It's a significant typo, since it breaks the PostVM hook from working | 23:33:13 |
| 11 Jan 2025 |
| @orzklv:matrix.org left the room. | 04:07:41 |
| ·☽•Nameless☆•777 · ± changed their profile picture. | 04:42:58 |
| @intergalactic-turtle-fucker:arcticfoxes.net removed their profile picture. | 10:09:00 |
| @intergalactic-turtle-fucker:arcticfoxes.net removed their display name ColdSideOfYourPillow. | 10:09:07 |
| @intergalactic-turtle-fucker:arcticfoxes.net left the room. | 10:09:38 |
| SigmaSquadron changed their display name from SigmaSquadron (Away until 2025-01-11) to SigmaSquadron. | 15:06:55 |
| @10leej:matrix.org left the room. | 18:45:25 |
| pandapip1 joined the room. | 21:23:12 |
| 12 Jan 2025 |
| Rayane Nakib (ريّان نقيب) joined the room. | 12:38:51 |
かえでちゃん | Do disko supports getting the system RAM size and using that as the size of the swap partition? | 13:30:14 |
lassulus | Maybe with nixos-facter | 13:47:38 |
かえでちゃん | Thank you for answering. Guess I am not messing with that then, more complex than I thought it would be. Btw, just watched your talk on YouTube (NixCon2023)
- How is the state for checking for partition alignment automatically? For example does it warn me when partition is not aligned?
- I heard it is possible to use YubiKey with luks2 in disko, is there any documentation example for that?
| 14:18:47 |
| 13 Jan 2025 |
かえでちゃん | Also, I have:
nixosConfigurations = {
book-of-the-azure-sky = lib.nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = inputs;
modules = [
disko.nixosModules.disko
<...disko-config.nix here...>
];
and disko-config.nix:
{
device ? throw "Set this to your disk device, e.g. /dev/sda",
...
}: {
disko.devices = {
disk.main = {
inherit device;
type = "disk";
<...>
How to use disko-config.nix in modules and set the device in disko-config.nix to /dev/sdb?
| 22:23:20 |