!oNSIfazDqEcwhcOjSL:matrix.org

disko

355 Members
disko - declarative disk partitioning - https://github.com/nix-community/disko90 Servers

Load older messages


SenderMessageTime
27 Apr 2025
@parismagpie:matrix.orgparismagpie

But with disko, i'm getting some error :

       error: The option `virtualisation.vmVariantWithDisko.virtualisation.fileSystems."/etc/secrets".fsType' has conflicting definition values:
       - In `/nix/store/hzaj4d6ari2wq2cbg1j60n9zw42gnshy-source/nixos/modules/virtualisation/qemu-vm.nix': "9p"
       - In `/nix/store/7wf9q0mb1i43x9dr1qlyfaraq15n6sii-source/lib/interactive-vm.nix': "ext4"
       Use `lib.mkForce value` or `lib.mkDefault value` to change the priority on any of these definitions.

I believe this is because the disko vm image actually respects my partitions formats, but that's a bit of a problem for my specific usecase. I can remove the /etc/secrets partition definition in disko, and it works, but do I have any other option ?

16:21:57
@tcurdt:matrix.orgtcurdt

I am a little lost trying to get disko working in this setup https://github.com/tcurdt/nixos-hetzner/blob/main/install-nixos.sh

error: attribute 'createScript' missing

       at /nix/store/5dgq6q4jilxz6aipvhr24jsbzhvgy4zx-disko/share/disko/cli.nix:65:7:

           64|     else if (lib.traceValSeq hasDiskoModuleFlake) then
           65|       (builtins.getFlake flake).nixosConfigurations.${flakeAttr}.config.system.build.${diskoAttr}
             |       ^
           66|     else
17:52:49
@tcurdt:matrix.orgtcurdtThat's when I use v1.9.0 ... latest gives a different error17:53:12
@tcurdt:matrix.orgtcurdtBut I am also confused why there can be a version mismatch when I used "latest" instead.17:54:43
@tcurdt:matrix.orgtcurdtAny pointers much appreciated.17:55:03
@tcurdt:matrix.orgtcurdt
echo 'Error: Attribute `nixosConfigurations.base.config.system.build.createScript` >&2
echo '       not found in flake

I don't see that attribute set in the example config

https://github.com/Lassulus/flakes-testing/blob/master/flake.nix

What am I missing?

18:13:45
@disco_stick:matrix.orgredesign your logo changed their display name from SS Bullshit Dreams to nowhere to SS Bullshit Dreams to Nowhere.18:30:46
@realhotgirlshit:envs.net@realhotgirlshit:envs.net Do you happen to know of the BIOS equivalent? My desktop is a little bit older 22:26:20
@realhotgirlshit:envs.net@realhotgirlshit:envs.net Okay, now I get it to boot up but it doesn’t unlock the disk saying:

error: disk: 'cryptouuid/…' not fond.

I’m going to check the paths in my config.
23:09:38
@tcurdt:matrix.orgtcurdtfinally got it working ...and created a github issue asking for a better error message and a PR to fix the current one23:40:20
28 Apr 2025
@realhotgirlshit:envs.net@realhotgirlshit:envs.net Yeah, I changed the config a little, same situation.

Do I need to load a kernel module or configure something?
00:15:46
@magnusjurdal:matrix.orgMagnus Jurdal joined the room.07:40:18
@tcurdt:matrix.orgtcurdtI am stuck on this issue here https://github.com/nix-community/disko/issues/1026 Am I doing something wrong?11:20:21
@tcurdt:matrix.orgtcurdt

--mode destroy --yes-wipe-all-disks ignores --yes-wipe-all-disks and gets stuck waiting for input

and

--mode destroy,format,mount --yes-wipe-all-disks also gets stuck ... maybe a missing sync?

11:22:42
@lassulus:lassul.uslassulusHuh stuck sounds like a bug12:08:07
@lassulus:lassul.uslassulusIt should run with -x already. So what is the output?12:08:22
@tcurdt:matrix.orgtcurdtI have added the debug output to the ticket. 12:37:23
@tcurdt:matrix.orgtcurdt Oh, you mean for --mode destroy,format,mount ? 12:37:24
@tcurdt:matrix.orgtcurdt

lassulus: I have added the debug output for the "disko" mode

https://github.com/nix-community/disko/issues/1026

13:19:42
@tcurdt:matrix.orgtcurdt Nothing happens anymore after lsblk -a -f 13:20:21
@mkg20001:mkg20001.iomkg20001then you need to specify the device grub should write the MBR to look under lsblk note that yoiu should not use a partition (so /dev/nvme0n1 - but not /dev/nvme0n1p1)17:13:35
@realhotgirlshit:envs.net@realhotgirlshit:envs.net Does disko-install change a partition’s UUID every time it’s run? 23:36:47
@cent:neuland.enterprises@cent:neuland.enterprises left the room.23:39:13
29 Apr 2025
@hexa:lossy.networkhexaprobably, yeah01:21:52
@hexa:lossy.networkhexabut you can use the disko config to populate mountpoints01:22:24
@hexa:lossy.networkhexaso that's a non-issue for mounting 01:22:34
@lassulus:lassul.uslassulusI think you can specify uuids now. But i never tested it01:28:39
@realhotgirlshit:envs.net@realhotgirlshit:envs.net I’m trying to install NixOS through disko with a BTRFS partitions/full disk encrypted setup. I’ve changed the configuration in a couple different ways, and ran disko-install, each time. GRUB always allows two password entries telling me Invalid password, and a third attempt which ends with a cryptodisk not found meltdown and rescue prompt.

The changes I’ve made recently:
  1. Change all UUID partition references to /dev/sda or /dev/sda2.

  2. Made sure that btrfs was present during boot.

  3. Expanded the boot device definition to have more details vs. the previous version which just had the path.


Relevant configuration.nix:

  # Disable UEFI.
  boot.loader.systemd-boot.enable = false;

  # Use the GRUB 2 boot loader.
  boot.loader.grub.enable = true;
  boot.loader.grub.efiSupport = false;
  boot.loader.grub.enableCryptodisk = true;

  boot.loader.efi.canTouchEfiVariables = false;
  # boot.loader.grub.efiInstallAsRemovable = true;
  # boot.loader.efi.efiSysMountPoint = "/boot/efi";
  # Define on which hard drive you want to install Grub.
  boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only

  
  boot.initrd.luks.devices.cryptroot.devices = [
    {
      name = "luksroot";
      device = "/dev/sda2";
    }
  ];

  boot.initrd.supportedFilesystems = [ "btrfs" ];

Disko configuration in flake.nix:
{
  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
  inputs.disko.url = "github:nix-community/disko/latest";
  inputs.disko.inputs.nixpkgs.follows = "nixpkgs";

  outputs = {self, disko, nixpkgs }: {
    nixosConfigurations.koolthing = nixpkgs.legacyPackages.x86_64-linux.nixos [
      ./configuration.nix
      disko.nixosModules.disko
      {
        disko.devices = {
	  disk = {
          main = {
            type = "disk";
            device = "/dev/sda";
            content = {
              type = "gpt";
              partitions = {
                # Legacy BIOS, MBR-style partition table.
                boot = {
                  size = "1M";
                  type = "EF02"; # Grub MBR.
                };

                # The LUKS-encrypted root.
                luks = {
                  size = "300G";
                  content = {
                    type = "luks";
                    name = "crypted";

                    # Set up with an interactive password and not a keyfile.
                    settings = {
                      allowDiscards = true;
                    };

                    # The Btrfs filesystem.
                    content = {
                      type = "btrfs";
                      extraArgs = ["-f"]; # Overwrite any existing file system.
                      subvolumes = {
                        "/root" = {
                          mountpoint = "/";
                          mountOptions = [
                            "compress=zstd"
                            "noatime"
                          ];
                        };

                        # The home subvolume.
                        "/home" = {
                          mountpoint = "/home";                          
                          mountOptions = [
                            "compress=zstd"
                            "noatime"
                          ];
                        };

                        # The nix subvolume.
                        "/nix" = {
                          mountpoint = "/nix";                          
                          mountOptions = [
                            "compress=zstd"
                            "noatime"
                          ];
                        };
                      };
                    };
                  };
                };
              };
            };
          };
	};
        };
      }
    ];
  };
}
01:43:10
@lassulus:lassul.uslassulusRemove the enableCryptoDisk Option from grub. This is used for encrypted /Boot partitions02:00:08
@lassulus:lassul.uslassulusOh wait that seems to be what you want to do?02:00:32

Show newer messages


Back to Room ListRoom Version: 10