!oNSIfazDqEcwhcOjSL:matrix.org

disko

356 Members
disko - declarative disk partitioning - https://github.com/nix-community/disko89 Servers

Load older messages


SenderMessageTime
18 Aug 2025
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️ cause like, the names here (with -part1) don't exist, but without the suffix they do, and so does /dev/md/esp (used by the fileSystems entry) 13:21:06
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️actually let me see if I can manually mount them13:21:35
@vicnotor:matrix.orgvicnotor joined the room.13:24:15
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️boot succeeded! that's a good start lol13:24:40
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️ok after a deploy and reboot everything boots up fine! I'm pretty sure there was just something fucky with the state between the disko command and the impure nixos-install13:31:34
@vicnotor:matrix.orgvicnotor

How would one go about setting up a simple BTRFS filesystem with two drives with the default profiles (single for data and raid1 for metadata)? I understand this can be done through Disko with a single partition layout for one drive and then adding the second device to the BTRFS filesystem with btrfs device add /dev/nvme1n1 /, and then balancing the filesystem. I was curious if this can also be done declaratively. My disko config that I've built just now looks as follows, but I don't know if it would work the way I want to (two drives in one balanced BTRFS filesystem):

{
  disko.devices = {
    disk = {
      main = {
        type = "disk";
        device = "/dev/nvme0n1";
        content = {
          type = "gpt";
          partitions = {
            ESP = {
              size = "512M";
              type = "EF00";
              content = {
                type = "filesystem";
                format = "vfat";
                mountpoint = "/boot";
                mountOptions = ["umask=0077"];
              };
            };
            root = {
              size = "100%";
              content = {
                type = "btrfs";
                extraArgs = ["-f"];
                subvolumes = {
                  "/root" = {
                    mountpoint = "/";
                    mountOptions = [
                      "compress=zstd"
                      "noatime"
                    ];
                  };
                  "/home" = {
                    mountpoint = "/home";
                    mountOptions = [
                      "compress=zstd"
                      "noatime"
                    ];
                  };
                  "/nix" = {
                    mountpoint = "/nix";
                    mountOptions = [
                      "compress=zstd"
                      "noatime"
                    ];
                  };
                  "/swap" = {
                    mountpoint = "/.swapvol";
                    swap.swapfile.size = "16G";
                  };
                };
              };
            };
          };
        };
      };
      second = {
        type = "disk";
        device = "/dev/nvme1n1";
        content = {
          type = "gpt";
          partitions = {
            root = {
              size = "100%";
              content = {
                type = "btrfs";
              };
            };
          };
        };
      };
    };
  };
}
13:31:45
@xvwx:matrix.dapp.org.uk@xvwx:matrix.dapp.org.uk left the room.13:50:33
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️yeah ok this is getting a bit too annoying, I'll just switch to grub.14:21:16
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️I wonder if I can switch bootloaders on a running system... :D14:29:49
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️ grub says filesystem "fat" does not support embedding ??? 14:40:20
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️what would a simple grub config that works with the boot-raid1 example look like? 😅14:40:45
@lassulus:lassul.uslassulususually you don't need to set anything except efiSupport = true;14:54:21
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️ what should I set boot.loader.grub.device to? 14:58:49
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️oh wait, right14:59:11
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️there is the grub MBR partition...is that required for an EFI-only system, too?14:59:22
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️ * what should I set boot.loader.grub.device to? or mirroredBoots...? 14:59:44
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️this actually worked fwiw, but it feels like a hack15:18:52
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️not more of a hack than adding a partition for MBR though15:19:16
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️nevermind it didn't15:20:34
@alisonjenkins:matrix.orgAlison Jenkinsnot got full context on the convo but it should just use the EFI executable not the MBR15:21:06
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️and what do I set as the device?15:21:54
@lassulus:lassul.uslassulususually disko sets the devices for you if you have EF02 partitions, otherwise you can set it to [ "nodev" ]15:22:40
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️ah oke, I'll try that15:23:25
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️I don't have any EF02 partitions, and my question is if that's required even with EFI, to be clear15:25:01
@lassulus:lassul.uslassulusno they are only needed for MBR15:29:48
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️nodev worked fine :)15:30:18
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️but now uuuuhh15:30:20
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️it's still booting using systemd-boot somehow lol15:30:27
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️I was pretty sure I had deleted the efi executables15:30:38
@sylvie:karp.lolSylvie (They/She) 🏳️‍⚧️unless the thing that's being booted is EFI/BOOT/BOOTX64.EFI15:32:00

Show newer messages


Back to Room ListRoom Version: 10