diff options
| author | Caroline Larimore <caroline@larimo.re> | 2025-02-08 14:09:56 -0800 |
|---|---|---|
| committer | Caroline Larimore <caroline@larimo.re> | 2025-04-14 18:58:50 -0700 |
| commit | d4b81d128f5e9525bd29b4771ac566e00cc831d4 (patch) | |
| tree | 5ea81e7d700e83d591a88386c993bc246352645b /snowfall/modules/home/impermanence | |
| parent | 4b2050f8762b2880277c0762efc925991a034892 (diff) | |
migration: configure home impermanence from system
Diffstat (limited to 'snowfall/modules/home/impermanence')
| -rw-r--r-- | snowfall/modules/home/impermanence/default.nix | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/snowfall/modules/home/impermanence/default.nix b/snowfall/modules/home/impermanence/default.nix index c1d1a2d..f132a6a 100644 --- a/snowfall/modules/home/impermanence/default.nix +++ b/snowfall/modules/home/impermanence/default.nix @@ -1,8 +1,9 @@ -{ options, config, lib, namespace, inputs, host, ... }: +{ options, config, osConfig, lib, namespace, inputs, host, ... }: with lib; with lib.${namespace}; let - cfg = config.${namespace}.impermanence; - hosts = [ "c-pc" ]; + cfg = config.${namespace}.impermanence // { + inherit (osConfig.${namespace}.system.impermanence.home) enable location secure; + }; in { imports = [ inputs.impermanence.nixosModules.home-manager.impermanence @@ -14,22 +15,18 @@ in { default = true; }; - location = mkOption { - type = str; - default = "/persist/home"; - }; - - secure = { - location = mkOption { - type = str; - default = "/persist/secure/home"; - }; - }; + enable = mkOption { type = uniq bool; }; + location = mkOption { type = uniq str; }; + secure.location = mkOption { type = uniq str; }; }; config = { + ${namespace}.impermanence = { + inherit (cfg) enable location secure; + }; + home.persistence.${cfg.location} = { - enable = builtins.elem host hosts; + enable = cfg.enable; allowOther = true; directories = mkIf cfg.skeleton [ @@ -44,7 +41,7 @@ in { }; home.persistence.${cfg.secure.location} = { - enable = builtins.elem host hosts; + enable = cfg.enable; allowOther = false; }; }; |