aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/richese/disks.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hosts/richese/disks.nix98
1 files changed, 98 insertions, 0 deletions
diff --git a/hosts/richese/disks.nix b/hosts/richese/disks.nix
new file mode 100644
index 0000000..9f05d48
--- /dev/null
+++ b/hosts/richese/disks.nix
@@ -0,0 +1,98 @@
+{
+ disko.devices = {
+ disk = {
+ sda = {
+ type = "disk";
+ device = "/dev/sda";
+ content = {
+ type = "gpt";
+ partitions = {
+ boot = {
+ size = "4M";
+ type = "EF02";
+ };
+ ESP = {
+ size = "1G";
+ type = "EF00";
+ content = {
+ type = "filesystem";
+ format = "vfat";
+ mountpoint = "/boot";
+ mountOptions = [ "defaults" ];
+ extraArgs = [ "-n boot" ];
+ };
+ };
+ swap = {
+ size = "16G";
+ type = "8200";
+ content = {
+ type = "swap";
+ extraArgs = [ "-L swap" ];
+ };
+ };
+ rpool = {
+ size = "100%";
+ content = {
+ type = "zfs";
+ pool = "rpool";
+ };
+ };
+ };
+ };
+ };
+ };
+ zpool = {
+ rpool = {
+ type = "zpool";
+ rootFsOptions = {
+ acltype = "posixacl";
+ dnodesize = "auto";
+ xattr = "sa";
+ relatime = "on";
+ normalization = "formD";
+ encryption = "aes-256-gcm";
+ keyformat = "passphrase";
+ keylocation = "file:///tmp/data.keyfile";
+ compression = "on";
+ };
+ postCreateHook = ''
+ zfs set keylocation="prompt" rpool
+ '';
+ options = {
+ ashift = "12";
+ #autotrim = "on";
+ };
+ datasets = {
+ "local/root" = {
+ type = "zfs_fs";
+ options.mountpoint = "legacy";
+ mountpoint = "/";
+ };
+ "local/nix" = {
+ type = "zfs_fs";
+ options = {
+ atime = "off";
+ mountpoint = "legacy";
+ };
+ mountpoint = "/nix";
+ };
+ "user/home" = {
+ type = "zfs_fs";
+ options.mountpoint = "legacy";
+ mountpoint = "/home";
+ };
+ "user/home/root" = {
+ type = "zfs_fs";
+ options.mountpoint = "legacy";
+ mountpoint = "/root";
+ };
+ "user/home/nipsy" = {
+ type = "zfs_fs";
+ options.mountpoint = "legacy";
+ mountpoint = "/home/nipsy";
+ };
+ };
+ };
+ };
+ };
+}