about summary refs log tree commit diff
path: root/nixosConfigurations/eonwe
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-02-02 22:17:31 +0300
committerAzat Bahawi <azat@bahawi.net>2023-02-02 22:17:31 +0300
commita91c2015ba96053a65a3cc0937752976e7addaef (patch)
treed7c18b93b2238008a842c7e76514912367aadfb4 /nixosConfigurations/eonwe
parent2023-02-02 (diff)
2023-02-02
Diffstat (limited to 'nixosConfigurations/eonwe')
-rw-r--r--nixosConfigurations/eonwe/default.nix40
1 files changed, 24 insertions, 16 deletions
diff --git a/nixosConfigurations/eonwe/default.nix b/nixosConfigurations/eonwe/default.nix
index 19eb8b1..3bd7230 100644
--- a/nixosConfigurations/eonwe/default.nix
+++ b/nixosConfigurations/eonwe/default.nix
@@ -70,6 +70,8 @@ with lib; {
 
     # The boot drive is Samsung SSD 980 PRO 2TB.
     initrd.kernelModules = ["nvme"];
+
+    zfs.extraPools = ["vdata"];
   };
 
   # Filesystem creation:
@@ -82,10 +84,6 @@ with lib; {
   # -O acltype=posixacl
   # -O xattr=sa
   # -O compression=zstd
-  # -O atime=off
-  # -O relatime=off
-  # -O devices=off
-  # -O canmount=off
   # -O mountpoint=none
   # nixos
   # /dev/nvmeXnYpZ
@@ -94,10 +92,9 @@ with lib; {
   # nixos/root
   #
   # zfs create
-  # -o mountpoint=legacy
-  # -o relatime=on
-  # -o encryption=on
+  # -o encryption=aes-256-gcm
   # -o keyformat=passphrase
+  # -o mountpoint=legacy
   # nixos/root/ark
   #
   # zfs create
@@ -105,26 +102,37 @@ with lib; {
   # nixos/root/nix
   # ```
   fileSystems = {
-    "/boot" = {
-      device = "/dev/disk/by-uuid/1363-02E6";
-      fsType = "vfat";
-    };
-
     "/" = {
       device = "none";
       fsType = "tmpfs";
       options = ["size=8G" "mode=755"];
     };
 
-    "/ark" = {
-      device = "nixos/root/ark";
-      fsType = "zfs";
-      neededForBoot = true;
+    "/boot" = {
+      device = "/dev/disk/by-uuid/1363-02E6";
+      fsType = "vfat";
     };
 
     "/nix" = {
       device = "nixos/root/nix";
       fsType = "zfs";
+      options = ["noatime"];
+    };
+
+    ${config.ark.path} = {
+      device = "nixos/root/ark";
+      fsType = "zfs";
+      neededForBoot = true; # Required by impermanence.
+    };
+
+    # Required[1] when using impermanence with agenix. Filesystem itself is
+    # defined as an `ark.directory` in `nixos/common/users.nix`.
+    #
+    # [1]: https://github.com/ryantm/agenix/issues/45#issuecomment-847852593
+    # [1]: https://github.com/nix-community/impermanence/issues/22
+    # [1]: https://github.com/NixOS/nixpkgs/pull/86967#pullrequestreview-667929259
+    "/home/${my.username}" = {
+      depends = [config.ark.path];
       neededForBoot = true;
     };
   };

Consider giving Nix/NixOS a try! <3