nanuqsaurus/modules/system/disko-btrfs.nix
randogoth 72941092d2 26.05: source Lix from nixpkgs, fix disko btrfs label
nixos-26.05 removed lix_2_93, which the lix-module release-2.93 branch
hard-pins via lixFromNixpkgs (no 2.94 module release exists yet). Drop
the lix-module input and set nix.package = pkgs.lix, which is Lix 2.94.2
on 26.05 — so we stay on Lix, just sourced from nixpkgs.

Also: newer disko dropped the btrfs `label` option; pass -L nixos via
extraArgs instead so the impermanence rollback still finds the "nixos"
label.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-28 12:11:17 +03:00

67 lines
1.6 KiB
Nix

{ lib, ... }:
{
disko.devices = {
disk.main = {
type = "disk";
device = lib.mkDefault "/dev/vda";
content = {
type = "gpt";
partitions = {
ESP = {
size = "550M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"fmask=0022"
"dmask=0022"
];
};
};
nixos = {
size = "100%";
content = {
type = "btrfs";
# Filesystem label "nixos" is required by the impermanence rollback
# logic. Newer disko dropped the `label` option; pass it to mkfs.btrfs.
extraArgs = [ "-f" "-L" "nixos" ];
subvolumes = {
root = {
mountpoint = "/";
mountOptions = [
"compress=zstd"
];
};
home = {
mountpoint = "/home";
mountOptions = [
"compress=zstd"
];
};
nix = {
mountpoint = "/nix";
mountOptions = [
"compress=zstd"
];
};
persist = {
mountpoint = "/persist";
mountOptions = [
"compress=zstd"
];
};
};
};
};
};
};
};
};
}