diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-29 03:45:10 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-29 03:50:33 +0530 |
| commit | 1a39cf221e3f647df0767c88d89a54e3813e7019 (patch) | |
| tree | b3df1afb0bcc0942a364f267f993ed1a9bfb9434 /modules/security/gopass | |
| parent | e9e375f5f5263964fe89479a2610081000959774 (diff) | |
| download | home-manager-config-1a39cf221e3f647df0767c88d89a54e3813e7019.tar.gz home-manager-config-1a39cf221e3f647df0767c88d89a54e3813e7019.zip | |
refactor: adding explicit options to enable scripts
- some scripts that are not critical to the functioning of other
options, can be enabled/disabled
Diffstat (limited to 'modules/security/gopass')
| -rw-r--r-- | modules/security/gopass/default.nix | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/modules/security/gopass/default.nix b/modules/security/gopass/default.nix index 5fe5b3d..fa5e486 100644 --- a/modules/security/gopass/default.nix +++ b/modules/security/gopass/default.nix @@ -6,29 +6,21 @@ ... }: let - inherit ((import ../../lib/script.nix { inherit lib pkgs; })) mkScriptModule; - gopassKeys = config.security.ssh.gopassKeys; - gopassSshLoad = mkScriptModule { - scope = [ - "security" - "gopass" - ]; + gopassSshLoadScript = pkgs.writeShellApplication { name = "gopass-ssh-load"; - path = ./gopass-ssh-load.sh; - description = "Load SSH keys from gopass password store"; - env = { - GNUPGHOME = config.home.sessionVariables.GNUPGHOME; - GOPASS_SSH_KEYS = lib.concatStringsSep " " gopassKeys; - }; - deps = with pkgs; [ + runtimeInputs = with pkgs; [ config.security.gopass.package gnupg openssh bash ]; - inherit config; + text = '' + export GNUPGHOME="${config.home.sessionVariables.GNUPGHOME}" + export GOPASS_SSH_KEYS="${lib.concatStringsSep " " gopassKeys}" + ${builtins.readFile ./gopass-ssh-load.sh} + ''; }; in { @@ -40,9 +32,16 @@ in default = config.programs.password-store.package; description = "The gopass package to use."; }; - ssh-agent.enable = lib.mkEnableOption "gopass-backed SSH keys for git"; - } - // gopassSshLoad.options.security.gopass; + ssh-agent = { + enable = lib.mkEnableOption "gopass-backed SSH keys for git"; + package = lib.mkOption { + type = lib.types.package; + readOnly = true; + default = gopassSshLoadScript; + description = "The gopass-ssh-load script package."; + }; + }; + }; config = lib.mkMerge [ (lib.mkIf config.security.gopass.enable { @@ -72,6 +71,8 @@ in type = "Application"; }; }) - gopassSshLoad.config + (lib.mkIf config.security.gopass.ssh-agent.enable { + home.packages = [ config.security.gopass.ssh-agent.package ]; + }) ]; } |
