From 0e09b1db3454291a590b712933df67450c91afcb Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Fri, 11 Sep 2026 12:07:24 -0400 Subject: [PATCH] feat(zfs): mount dedicated Nix build dataset Mount root_pool/nix_build at /nix/var/nix/builds on existing hosts and generate the same layout for new installations. --- python/installer/__main__.py | 4 ++-- systems/bob/hardware.nix | 5 +++++ systems/brain/hardware.nix | 5 +++++ systems/jeeves/hardware.nix | 5 +++++ systems/rhapsody-in-green/hardware.nix | 8 ++++++++ 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/python/installer/__main__.py b/python/installer/__main__.py index 40e9d22..c661c72 100644 --- a/python/installer/__main__.py +++ b/python/installer/__main__.py @@ -264,7 +264,7 @@ def create_nix_hardware_file(mnt_dir: str, disks: Sequence[str], encrypt: str | ' "/home" = {\n device = "root_pool/home";\n fsType = "zfs";\n };\n\n' ' "/var" = {\n device = "root_pool/var";\n fsType = "zfs";\n };\n\n' ' "/nix" = {\n device = "root_pool/nix";\n fsType = "zfs";\n };\n\n' - ' "/nix_build" = {\n device = "root_pool/nix_build";\n fsType = "zfs";\n };\n\n' + ' "/nix/var/nix/builds" = {\n device = "root_pool/nix_build";\n fsType = "zfs";\n };\n\n' ' "/boot" = {\n' f' device = "/dev/disk/by-uuid/{get_boot_drive_id(disks[0])}";\n' ' fsType = "vfat";\n options = [\n "fmask=0077"\n' @@ -287,7 +287,7 @@ def install_nixos(mnt_dir: str, disks: Sequence[str], encrypt: str | None) -> No run_output(("mount", "-o", "X-mount.mkdir", "-t", "zfs", "root_pool/home", f"{mnt_dir}/home")) run_output(("mount", "-o", "X-mount.mkdir", "-t", "zfs", "root_pool/var", f"{mnt_dir}/var")) run_output(("mount", "-o", "X-mount.mkdir", "-t", "zfs", "root_pool/nix", f"{mnt_dir}/nix")) - run_output(("mount", "-o", "X-mount.mkdir", "-t", "zfs", "root_pool/nix_build", f"{mnt_dir}/nix_build")) + run_output(("mount", "-o", "X-mount.mkdir", "-t", "zfs", "root_pool/nix_build", f"{mnt_dir}/nix/var/nix/builds")) for disk in disks: run_output(("mkfs.vfat", "-n", "EFI", f"{disk}-part1")) diff --git a/systems/bob/hardware.nix b/systems/bob/hardware.nix index e835d47..b7791f3 100644 --- a/systems/bob/hardware.nix +++ b/systems/bob/hardware.nix @@ -50,6 +50,11 @@ fsType = "zfs"; }; + "/nix/var/nix/builds" = { + device = "root_pool/nix_build"; + fsType = "zfs"; + }; + "/var" = { device = "root_pool/var"; fsType = "zfs"; diff --git a/systems/brain/hardware.nix b/systems/brain/hardware.nix index f830163..fc3ecf5 100644 --- a/systems/brain/hardware.nix +++ b/systems/brain/hardware.nix @@ -53,6 +53,11 @@ fsType = "zfs"; }; + "/nix/var/nix/builds" = { + device = "root_pool/nix_build"; + fsType = "zfs"; + }; + "/boot" = { device = "/dev/disk/by-uuid/12CE-A600"; fsType = "vfat"; diff --git a/systems/jeeves/hardware.nix b/systems/jeeves/hardware.nix index 0358e43..ab323b5 100644 --- a/systems/jeeves/hardware.nix +++ b/systems/jeeves/hardware.nix @@ -96,6 +96,11 @@ in fsType = "zfs"; }; + "/nix/var/nix/builds" = { + device = "root_pool/nix_build"; + fsType = "zfs"; + }; + "/var" = { device = "root_pool/var"; fsType = "zfs"; diff --git a/systems/rhapsody-in-green/hardware.nix b/systems/rhapsody-in-green/hardware.nix index 7b15c5e..d1002a4 100644 --- a/systems/rhapsody-in-green/hardware.nix +++ b/systems/rhapsody-in-green/hardware.nix @@ -34,14 +34,22 @@ device = "root_pool/root"; fsType = "zfs"; }; + "/home" = { device = "root_pool/home"; fsType = "zfs"; }; + + "/nix/var/nix/builds" = { + device = "root_pool/nix_build"; + fsType = "zfs"; + }; + "/var" = { device = "root_pool/var"; fsType = "zfs"; }; + "/boot" = { device = "/dev/disk/by-uuid/12CE-A600"; fsType = "vfat";