aboutsummaryrefslogtreecommitdiff
path: root/machines/nixos/x86_64-linux/rivendell/disks.nix
diff options
context:
space:
mode:
Diffstat (limited to 'machines/nixos/x86_64-linux/rivendell/disks.nix')
-rw-r--r--machines/nixos/x86_64-linux/rivendell/disks.nix67
1 files changed, 67 insertions, 0 deletions
diff --git a/machines/nixos/x86_64-linux/rivendell/disks.nix b/machines/nixos/x86_64-linux/rivendell/disks.nix
new file mode 100644
index 0000000..8cb1f32
--- /dev/null
+++ b/machines/nixos/x86_64-linux/rivendell/disks.nix
@@ -0,0 +1,67 @@
+let
+ btrfsopt = [
+ "compress=zstd"
+ "noatime"
+ ];
+in
+{
+ disko.devices = {
+ disk = {
+ main = {
+ type = "disk";
+ device = "/dev/nvme0n1";
+ content = {
+ type = "gpt";
+ partitions = {
+ ESP = {
+ size = "2G";
+ type = "EF00";
+ content = {
+ type = "filesystem";
+ format = "vfat";
+ mountpoint = "/boot";
+ mountOptions = [
+ "fmask=0022"
+ "dmask=0022"
+ ];
+ };
+ };
+ luks = {
+ size = "100%";
+ content = {
+ type = "luks";
+ name = "nixos";
+ passwordFile = "/tmp/pass";
+ settings = {
+ allowDiscards = true;
+ };
+ content = {
+ type = "btrfs";
+ extraArgs = [ "-f" ];
+ subvolumes = {
+ "@root" = {
+ mountpoint = "/";
+ mountOptions = btrfsopt;
+ };
+ "@home" = {
+ mountpoint = "/home";
+ mountOptions = btrfsopt;
+ };
+ "@nix" = {
+ mountpoint = "/nix";
+ mountOptions = btrfsopt;
+ };
+ "@data" = {
+ mountpoint = "/data";
+ mountOptions = btrfsopt;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+}