| 18 Dec 2024 |
@annaaurora:artemislena.eu | In reply to @blimbus:matrix.org
I would think so too but whenever I run disko-install without disk arguments I get error: No device passed for disk 'home'. Pass `--disk home /dev/name` via commandline. If I specify home then it errors for disk.nix. This is my disko config:
{
disko.devices = {
disk.nix = {
type = "disk";
device = "/dev/disk/by-id/ata-QEMU_HARDDISK_QM00003";
content = {
type = "gpt";
partitions = {
boot = {
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
root = {
size = "100%";
content = {
type = "luks";
name = "nixcrypt";
settings.allowDiscards = true;
passwordFile = "/tmp/root.key";
content = {
type = "btrfs";
extraArgs = [ "-f" ];
postMountHook = ''
mkdir -p /mnt/disko-install-root/nix/persist/root && cp /tmp/home.key /mnt/disko-install-root/nix/persist/root/home.key
'';
subvolumes = {
"nix" = {
mountpoint = "/nix";
mountOptions = [ "compress-force=zstd:1" "noatime" ];
};
"swap" = {
mountpoint = "/.swap";
mountOptions = [ "compress-force=zstd:1" "noatime" ];
swap.swapfile.size = "8G";
};
};
};
};
};
};
};
};
disk.home = {
type = "disk";
device = "/dev/disk/by-id/ata-QEMU_HARDDISK_QM00005";
content = {
type = "luks";
name = "homecrypt";
settings.allowDiscards = true;
settings.keyFile = "/tmp/home.key";
initrdUnlock = false; # don't unlock at boot
content = {
type = "btrfs";
extraArgs = [ "-f" ];
subvolumes = {
"home" = {
mountpoint = "/nix/persist/home";
mountOptions = [ "compress-force=zstd:1" "noatime"];
};
};
};
};
};
nodev."/" = {
fsType = "tmpfs";
mountOptions = [ "defaults" "size=3G" "mode=755" ];
};
};
}
can you check if there is a device for home in repl? | 17:52:31 |
| 19 Dec 2024 |
| crstl set a profile picture. | 12:31:14 |
| 21 Dec 2024 |
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:
subprocess.CalledProcessError: Command '['/nix/store/rp6yhapgwv5yad023117digxawm4la1n-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
I tried to delete the directory directly but it didn't work even as superuser (!?): rm: cannot remove '/mnt/disko-install-root/var/empty': Operation not permitted.
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.
| 02:00:31 |
Mic92 | Is there something that doesn't get unmoun ted? | 09:46:18 |
Mic92 | mountpoint -q "${mountPoint}" | 09:47:17 |
Mic92 | Does your disko config not mount anything to it's mountpoint? | 09:47:37 |
Raj | I think it does. Here it is:
{
disko.devices = {
nodev."/" = {
fsType = "tmpfs";
mountOptions = [
"size=2G"
"defaults"
"mode=755"
];
};
nodev."/home/username" = {
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"];
};
};
};
};
};
};
};
};
};
};
}
| 20:10:08 |
Raj | This doesn't return anything :( | 20:11:27 |
Raj | Also, if you can think of an easier way to create a USB stick with (i) a bootable NixOS (for recovery purposes) and (ii) persistent storage of important files, that'd work for me too! | 20:12:39 |
Raj | * Also, if you can think of an easier way to create a USB stick with (i) a bootable custom NixOS (for recovery purposes) and (ii) persistent storage of important files, that'd work for me too! | 20:12:50 |
| ·☽•Nameless☆•777 · ± changed their profile picture. | 21:37:37 |
waltmck | hey, what is the best way to set up encrypted ZFS on root using disko? | 23:54:59 |
waltmck | Is there a way to get it to prompt me for a passphrase while I am provisioning the dataset? | 23:55:36 |
waltmck | also, what is the difference between zpool.<name>.rootFsOptions and zpool.<name>.options? | 23:58:42 |
| 22 Dec 2024 |
waltmck | and generally I want to make sure I understand how zfs property inheritance works with disko | 00:18:08 |
Enzime | In reply to @waltmck:matrix.org also, what is the difference between zpool.<name>.rootFsOptions and zpool.<name>.options? zpool options are https://openzfs.github.io/openzfs-docs/man/master/7/zpoolprops.7.html | 00:19:28 |
Enzime | whereas the rootfsoptions is https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html | 00:19:46 |
Enzime | because every zpool has an implicit 'root' dataset | 00:20:05 |
Enzime | In reply to @waltmck:matrix.org Is there a way to get it to prompt me for a passphrase while I am provisioning the dataset? it should do that if you don't set passwordFile or keyFile | 00:20:27 |
Enzime | how are you using disko? | 00:20:41 |
waltmck | I'm not sure yet. I have used it with nixos-anywhere in the pass to deploy to headless servers, but it may be difficult since I am trying to set up encrypted root. I have physical access to this machine | 00:21:36 |
waltmck | * I'm not sure yet. I have used it with nixos-anywhere in the past to deploy to headless servers, but it may be difficult since I am trying to set up encrypted root. I have physical access to this machine | 00:21:49 |
Enzime | In reply to @waltmck:matrix.org I'm not sure yet. I have used it with nixos-anywhere in the past to deploy to headless servers, but it may be difficult since I am trying to set up encrypted root. I have physical access to this machine it should work fine with nixos-anywhere | 00:23:53 |
Enzime | I'm not sure if I've tested if the prompting for passwords works correctly over SSH though | 00:24:07 |
Enzime | it should work | 00:24:23 |
Enzime | https://github.com/nix-community/nixos-anywhere/blob/main/docs/cli.md?plain=1#L41-L43 | 00:24:48 |
waltmck | I'll check! | 00:24:59 |
Enzime | In reply to @enzime:nixos.dev https://github.com/nix-community/nixos-anywhere/blob/main/docs/cli.md?plain=1#L41-L43 this option is for if you want to write the password from a file and read it from that file | 00:25:16 |
Enzime | you'll need to set the corresponding passwordFile though for your luks | 00:25:40 |
Enzime | you shouldn't need to use this flag if you want to prompt for your password | 00:26:16 |