!oNSIfazDqEcwhcOjSL:matrix.org

disko

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

You have reached the beginning of time (for this room).


SenderMessageTime
21 Sep 2025
@pink_rocky:tchncs.derocky ((λ💝.💝)💐) (she/they; ask before DM please) changed their display name from ((λ💝.💝)💐) (she/they; ask before DM please) to rocky ((λ💝.💝)💐) (she/they; ask before DM please).16:45:39
22 Sep 2025
@lillecarl:matrix.orglillecarl changed their display name from LilleCarl (Salsa9) to lillecarl.10:36:51
23 Sep 2025
@sinan:sinanmohd.comsinan changed their profile picture.02:47:54
@chris:kruining.eu@chris:kruining.eu joined the room.09:46:59
@a-kenji:matrix.orgkenji changed their display name from a-kenji to kenji.10:37:21
@epk123:matrix.org@epk123:matrix.org left the room.20:08:04
@freexploit:trafkin.com@freexploit:trafkin.com 20:37:04
@freexploit:trafkin.com@freexploit:trafkin.com 20:37:30
@freexploit:trafkin.com@freexploit:trafkin.com left the room.20:38:09
@cdata:matrix.orgcdataI ended up filing an issue. Thanks in advance if anyone here has any insights: https://github.com/nix-community/disko/issues/113320:53:54
@cdata:matrix.orgcdata* I ended up filing an issue with a minimal test case demonstrating the problem. Thanks in advance if anyone here has any insights: https://github.com/nix-community/disko/issues/113320:54:38
29 Sep 2025
@drupol:matrix.orgPol joined the room.10:06:33
@no-mood:matrix.orgno-mood

Could you help me understand what the problem is with this config? I would like to have bcachefs with tiered storage between hdd and nvme, but after deploying with nixos-anywhere, the system won't boot.

{ inputs, ... }:
{
  imports = [
    inputs.disko.nixosModules.disko
  ];

  # Enable bcachefs support in kernel
  boot.supportedFilesystems = [ "bcachefs" ];

  disko.devices = {
    disk = {
      # NVMe SSD - Fast tier for metadata and caching
      nvme = {
        type = "disk";
        device = "/dev/disk/by-id/nvme-SAMSUNG_MZVLB256HAHQ-000H1_S425NX2M363531";
        content = {
          type = "gpt";
          partitions = {
            ESP = {
              priority = 1;
              name = "ESP";
              size = "512M";
              type = "EF00";
              content = {
                type = "filesystem";
                format = "vfat";
                mountpoint = "/boot";
                mountOptions = [ "umask=0077" ];
              };
            };
            # NVMe partition for bcachefs (fast tier)
            main = {
              size = "100%";
              content = {
                type = "bcachefs";
                filesystem = "main_bcachefs";
                label = "nvme.main";
                extraFormatArgs = [ "--discard" ];
              };
            };
          };
        };
      };

      # HDD - Bulk storage tier
      hdd = {
        type = "disk";
        device = "/dev/disk/by-id/ata-WDC_WD5000AAKX-60U6AA0_WD-WCC2EU003365";
        content = {
          type = "gpt";
          partitions = {
            # HDD partition for bcachefs (storage tier)
            main = {
              size = "100%";
              content = {
                type = "bcachefs";
                filesystem = "main_bcachefs";
                label = "hdd.backup";
              };
            };
          };
        };
      };
    };

    bcachefs_filesystems = {
      main_bcachefs = {
        type = "bcachefs_filesystem";
        extraFormatArgs = [
          "--compression=zstd"
          "--background_compression=zstd:15"
          # Tiering configuration
          "--background_target=hdd"
          "--foreground_target=nvme"
          "--promote_target=nvme"
          "--metadata_target=nvme"
        ];
        subvolumes = {
          # Root filesystem - equivalent to @root
          "@root" = {
            mountpoint = "/";
            mountOptions = [
              "noatime"
            ];
          };

          # Nix store - equivalent to @nix
          "@nix" = {
            mountpoint = "/nix";
            mountOptions = [
              "noatime"
            ];
          };

          # Persistent data - equivalent to @persist
          "@persist" = {
            mountpoint = "/persist";
            mountOptions = [
              "noatime"
            ];
          };

          # Backups directory
          "@backups" = {
            mountpoint = "/var/backups";
            mountOptions = [
              "noatime"
            ];
          };
        };
      };
    };
  };

}
11:56:03
@lassulus:lassul.uslassulusgood question, what happens during boot?11:58:06

Show newer messages


Back to Room ListRoom Version: 10