summaryrefslogtreecommitdiff
path: root/nodes/backup.jras.nl/disk-config.nix
diff options
context:
space:
mode:
authorJasper Ras <jaspert.ras@gmail.com>2025-03-29 10:54:31 +0100
committerJasper Ras <jaspert.ras@gmail.com>2025-03-29 10:54:31 +0100
commit5e3187e05d876f4e6b6fe20cc4c387daeffabe9c (patch)
treecd00bffddba0be1cf7087d6740879562564ca583 /nodes/backup.jras.nl/disk-config.nix
parent5956e07b4c8de365bf3d9ffc7db081cedcbd852a (diff)
rename node -> nodes
Diffstat (limited to 'nodes/backup.jras.nl/disk-config.nix')
-rw-r--r--nodes/backup.jras.nl/disk-config.nix109
1 files changed, 109 insertions, 0 deletions
diff --git a/nodes/backup.jras.nl/disk-config.nix b/nodes/backup.jras.nl/disk-config.nix
new file mode 100644
index 0000000..d075422
--- /dev/null
+++ b/nodes/backup.jras.nl/disk-config.nix
@@ -0,0 +1,109 @@
+{
+ disko.devices = {
+ disk = {
+ vda = {
+ device = "/dev/vda";
+ type = "disk";
+ content = {
+ type = "gpt";
+ partitions = {
+ boot = {
+ name = "boot";
+ size = "1M";
+ type = "EF02";
+ };
+ esp = {
+ name = "ESP";
+ size = "500M";
+ type = "EF00";
+ content = {
+ type = "filesystem";
+ format = "vfat";
+ mountpoint = "/boot";
+ };
+ };
+ zfs = {
+ size = "100%";
+ content = {
+ type = "zfs";
+ pool = "local";
+ };
+ };
+ };
+ };
+ };
+
+ vdb = {
+ device = "/dev/vdb";
+ type = "disk";
+ content = {
+ type = "gpt";
+ partitions = {
+ zfs = {
+ size = "100%";
+ content = {
+ type = "zfs";
+ pool = "backup";
+ };
+ };
+ };
+ };
+ };
+
+ vdc = {
+ device = "/dev/vdc";
+ type = "disk";
+ content = {
+ type = "gpt";
+ partitions = {
+ zfs = {
+ size = "100%";
+ content = {
+ type = "zfs";
+ pool = "backup";
+ };
+ };
+ };
+ };
+ };
+ };
+
+ zpool = {
+ local = {
+ type = "zpool";
+
+ rootFsOptions = {
+ compression = "zstd";
+ };
+
+ datasets = {
+ root = {
+ type = "zfs_fs";
+ mountpoint = "/";
+ postCreateHook = "zfs list -t snap -H -o name | grep -E '^local/root@blank$' || zfs snapshot local/root@blank";
+ };
+
+ nix = {
+ type = "zfs_fs";
+ mountpoint = "/nix";
+ };
+
+ persist = {
+ type = "zfs_fs";
+ mountpoint = "/persist";
+ };
+ };
+ };
+ };
+
+ zpool = {
+ backup = {
+ type = "zpool";
+
+ rootFsOptions = {
+ compression = "zstd";
+ };
+ };
+ };
+ };
+}