summaryrefslogtreecommitdiff
path: root/sys/fs/default.nix
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-08-08 05:11:59 -0600
committerAlejandro Soto <alejandro@34project.org>2022-08-08 05:11:59 -0600
commit45d079d445bb3d6c2df4e3c99349677eed78010b (patch)
tree722a9c2a17a478467c30e9b5f3f98b588a5398e7 /sys/fs/default.nix
parentf74c0f26e887467f1edd3bda5f03da3786180eb3 (diff)
sys: implement primitive impermanence
Diffstat (limited to 'sys/fs/default.nix')
-rw-r--r--sys/fs/default.nix21
1 files changed, 17 insertions, 4 deletions
diff --git a/sys/fs/default.nix b/sys/fs/default.nix
index 9f2f646..d24e357 100644
--- a/sys/fs/default.nix
+++ b/sys/fs/default.nix
@@ -1,19 +1,32 @@
{ lib, config, ... }:
with lib; let
- cfg = config.local;
+ cfg = config.local.fs;
in {
imports = [ ./btrfs.nix ./layout.nix ];
- options.local.fs.boot.device = with lib.types; mkOption {
- type = str;
+ options.local.fs = with lib.types; {
+ impermanence = mkOption {
+ type = bool;
+ default = false;
+ };
+
+ boot.device = mkOption {
+ type = str;
+ };
};
config = {
# !!!
boot.tmpOnTmpfs = true;
+ fileSystems."/" = mkIf cfg.impermanence {
+ device = "tmpfs";
+ fsType = "tmpfs";
+ options = [ "size=1G" "mode=755" ];
+ };
+
fileSystems."/boot" = {
- inherit (cfg.fs.boot) device;
+ inherit (cfg.boot) device;
fsType = "vfat";
options = [ "noatime" "umask=027" ];
};