From cffd1ca1dee075becdf91dae1a6bafa0ee072964 Mon Sep 17 00:00:00 2001 From: Mathias Magnusson Date: Sun, 23 Nov 2025 19:13:40 +0100 Subject: add zfs --- configuration.nix | 1 + disko.nix | 131 ++++++++++++++++++++++++++++++++---------------------- 2 files changed, 79 insertions(+), 53 deletions(-) diff --git a/configuration.nix b/configuration.nix index 3528c89..3ea4a3a 100644 --- a/configuration.nix +++ b/configuration.nix @@ -23,6 +23,7 @@ boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "oden"; + networking.hostId = "0de6fce1"; # needed for zfs, taken from /etc/machine-id # Set your time zone. time.timeZone = "Europe/Stockholm"; diff --git a/disko.nix b/disko.nix index cb4a05e..dd5bb26 100644 --- a/disko.nix +++ b/disko.nix @@ -1,63 +1,88 @@ { - disko.devices.disk.main = { - type = "disk"; - device = "/dev/nvme0n1"; - content = { - type = "gpt"; - partitions.ESP = { - priority = 1; - name = "ESP"; - start = "1M"; - end = "512M"; - type = "EF00"; + disko.devices = { + disk = { + main = { + type = "disk"; + device = "/dev/nvme0n1"; content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ "umask=0077" ]; - }; - }; - partitions.root = { - size = "100%"; - content = { - type = "btrfs"; - extraArgs = [ "-f" ]; - subvolumes = { - "/root" = { - mountpoint = "/"; - mountOptions = [ - "subvol=root" - "compress=zstd" - "noatime" - ]; + type = "gpt"; + partitions.ESP = { + priority = 1; + name = "ESP"; + start = "1M"; + end = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; }; - "/home" = { - mountpoint = "/home"; - mountOptions = [ - "subvol=home" - "compress=zstd" - "noatime" - ]; - }; - "/nix" = { - mountpoint = "/nix"; - mountOptions = [ - "subvol=nix" - "compress=zstd" - "noatime" - ]; - }; - "/nix/persist" = { - mountpoint = "/nix/persist"; - mountOptions = [ - "subvol=persist" - "compress=zstd" - "noatime" - ]; + }; + partitions.root = { + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; + subvolumes = { + "/root" = { + mountpoint = "/"; + mountOptions = [ + "subvol=root" + "compress=zstd" + "noatime" + ]; + }; + "/home" = { + mountpoint = "/home"; + mountOptions = [ + "subvol=home" + "compress=zstd" + "noatime" + ]; + }; + "/nix" = { + mountpoint = "/nix"; + mountOptions = [ + "subvol=nix" + "compress=zstd" + "noatime" + ]; + }; + "/nix/persist" = { + mountpoint = "/nix/persist"; + mountOptions = [ + "subvol=persist" + "compress=zstd" + "noatime" + ]; + }; + }; }; }; }; }; + draupner0 = { + type = "disk"; + device = "/dev/disk/by-id/ata-ST8000VN004-3CP101_WWZ9VLCZ"; + content = { + type = "zfs"; + pool = "draupner"; + }; + }; + }; + zpool.draupner = { + type = "zpool"; + rootFsOptions = { + compression = "lz4"; + atime = "off"; + acltype = "posixacl"; + }; + options.ashift = "12"; + datasets.draupner = { + type = "zfs_fs"; + mountpoint = "/media/draupner"; + }; }; }; -- cgit v1.2.3