From 668c0dbf25b8f31385e38b3699bbdd9226da01fe Mon Sep 17 00:00:00 2001 From: ene Date: Thu, 16 Feb 2023 18:24:34 +0100 Subject: Feat(impermanence): Add full stack tempfs --- system/fileSystemLayouts/default.nix | 25 +++++++------- system/impermanence/default.nix | 67 ++++++++++++++++++++---------------- 2 files changed, 49 insertions(+), 43 deletions(-) (limited to 'system') diff --git a/system/fileSystemLayouts/default.nix b/system/fileSystemLayouts/default.nix index d861d888..a3ba353b 100644 --- a/system/fileSystemLayouts/default.nix +++ b/system/fileSystemLayouts/default.nix @@ -5,6 +5,10 @@ }: with lib; let cfg = config.system.fileSystemLayouts; + defaultMountOptions = [ + "compress-force=zstd:15" # This saves disk space, at a performance cost + "noatime" # should have some performance upsides, and I don't use it anyways + ]; in { options.system.fileSystemLayouts = { enable = mkEnableOption (mdDoc "fileSystemLayout"); @@ -30,30 +34,25 @@ in { "/nix" = { device = cfg.mainDisk; fsType = "btrfs"; - options = ["subvol=nix" "compress-force=zstd:15"]; + options = ["subvol=nix"] ++ defaultMountOptions; }; "/srv" = { device = cfg.mainDisk; fsType = "btrfs"; neededForBoot = true; - options = ["subvol=storage" "compress-force=zstd:15"]; + options = ["subvol=storage"] ++ defaultMountOptions; }; "/boot" = { device = cfg.efiDisk; fsType = "vfat"; }; - "/etc/nixos" = { - device = "/srv/nix-config"; - options = ["bind"]; - }; - -# This results in infinite recursion, don't ask my why -# "${config.users.users.soispha.home}/.config" = { -# device = "none"; -# fsType = "tmpfs"; -# options = ["defaults" "size=1G" "mode=755"]; -# }; + # This results in infinite recursion, don't ask my why + # "${config.users.users.soispha.home}/.config" = { + # device = "none"; + # fsType = "tmpfs"; + # options = ["defaults" "size=1G" "mode=755"]; + # }; }; swapDevices = []; }; diff --git a/system/impermanence/default.nix b/system/impermanence/default.nix index 16ac3c47..dd0fa42e 100644 --- a/system/impermanence/default.nix +++ b/system/impermanence/default.nix @@ -7,39 +7,46 @@ impermanence.nixosModules.impermanence ]; - environment.persistence."/srv" = { - hideMounts = true; - directories = [ - "/var/log" - # TODO this needs to be checked - #"/var/lib/bluetooth" - #"/var/lib/nixos" - #"/var/lib/systemd/coredump" - { - directory = "/var/lib/colord"; - user = "colord"; - group = "colord"; - mode = "u=rwx,g=rx,o="; - } - ]; - files = [ - "/etc/machine-id" - { - file = "/etc/nix/id_rsa"; - parentDirectory = {mode = "u=rwx,g=,o=";}; - } - ]; - users.soispha = { - home = "/srv/home/soispha"; # TODO link this to ${config.users.users.soispha.homeDirectory} + environment.persistence = { + "/srv" = { + hideMounts = true; directories = [ - ".local/share" - ".cache" + "/var/log" + # TODO this needs to be checked + #"/var/lib/bluetooth" + #"/var/lib/nixos" + #"/var/lib/systemd/coredump" + { + directory = "/var/lib/colord"; + user = "colord"; + group = "colord"; + mode = "u=rwx,g=rx,o="; + } + ]; + files = [ + "/etc/machine-id" + { + file = "/etc/nix/id_rsa"; + parentDirectory = {mode = "u=rwx,g=,o=";}; + } + ]; + users.soispha = { + home = "/srv/home/soispha"; # TODO link this to ${config.users.users.soispha.homeDirectory} + directories = [ + ".local/share" + ".cache" - "media" - "repos" - "school" + "media" + "repos" + "school" + ]; + # TODO allowOther = true; + }; + }; + "/srv/nixos-config" = { + directories = [ + "/etc/nixos" ]; - # TODO allowOther = true; }; }; } -- cgit 1.4.1