about summary refs log tree commit diff stats
path: root/modules/by-name/im/impermanence/module.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/im/impermanence/module.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/by-name/im/impermanence/module.nix b/modules/by-name/im/impermanence/module.nix
index 140e0754..9c289346 100644
--- a/modules/by-name/im/impermanence/module.nix
+++ b/modules/by-name/im/impermanence/module.nix
@@ -9,7 +9,16 @@ in {
     enable = lib.mkEnableOption "persisting directories and files with impermanence";
 
     directories = lib.mkOption {
-      type = lib.types.listOf lib.types.str;
+      type = lib.types.listOf (lib.types.either lib.types.str (lib.types.submodule {
+        options = {
+          directory = lib.mkOption {
+            type = lib.types.str;
+          };
+          mode = lib.mkOption {
+            type = lib.types.str;
+          };
+        };
+      }));
       description = "The directories to persist";
     };
   };
@@ -22,6 +31,7 @@ in {
 
         users.soispha = {
           directories = [
+            # TODO: These should all be moved to their respective modules <2024-12-08>
             ".local/share"
 
             ".local/state/nvim"