From 7e9b400f62acbaa813879b1926bc6da93f408d8e Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Tue, 27 Feb 2024 21:05:49 +0800 Subject: [PATCH] diskoConfigs/archive: init Yeah, they're pretty much just the same as the external HDD config. --- configs/disko/archive/default.nix | 71 +++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 configs/disko/archive/default.nix diff --git a/configs/disko/archive/default.nix b/configs/disko/archive/default.nix new file mode 100644 index 00000000..b4d43951 --- /dev/null +++ b/configs/disko/archive/default.nix @@ -0,0 +1,71 @@ +# The archive storage for whatever trash that will be stored for the rest of +# time. It's more like a collection of whatever things I find, also it might +# just be used as a repository for a bunch of download services I put up as +# well as a backup-backup NixOS installation device in case my external hard +# drive gave up. +{ disk ? "/dev/sda", ... }: + +{ + disko.devices = { + disk.archive = { + device = disk; + type = "disk"; + content = { + type = "gpt"; + partitions = { + # You can't really have a btrfs-layered boot so this'll have to do. + ESP = { + priority = 1; + start = "0"; + end = "256MiB"; + type = "EF00"; + content = { + type = "filesystem"; + mountpoint = "/boot"; + format = "vfat"; + }; + }; + + # Just a tiny swap partition. This should have a remaining budget of + # (X - 7GB) for our custom data. To allows us to have a buffer which + # is especially useful for our potato laptop. + swap = { + start = "-6GiB"; + end = "-0"; + type = "8200"; + content = { + type = "swap"; + randomEncryption = true; + }; + }; + + # The end-all-be-all partition. Contains the treasure trove of data. + # Be mindful! + root = { + size = "100%"; + type = "8300"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; + + subvolumes = { + "/root" = { + mountOptions = [ "compress=zstd:6" ]; + mountpoint = "/"; + }; + "/home".mountpoint = "/home"; + "/nix" = { + mountOptions = [ "compress=zstd:6" "noatime" "noacl" ]; + mountpoint = "/nix"; + }; + + # Where the data where will be stored. + "/data".mountpoint = "/data"; + }; + }; + }; + }; + }; + }; + }; +}