diff options
Diffstat (limited to 'modules/security')
| -rw-r--r-- | modules/security/gpg-tui/default.nix | 11 | ||||
| -rw-r--r-- | modules/security/gpg/default.nix | 28 |
2 files changed, 25 insertions, 14 deletions
diff --git a/modules/security/gpg-tui/default.nix b/modules/security/gpg-tui/default.nix index bc4ac4f..2a5e61f 100644 --- a/modules/security/gpg-tui/default.nix +++ b/modules/security/gpg-tui/default.nix @@ -5,6 +5,9 @@ pkgs, ... }: +let + cfg = config.security.gpg-tui; +in { options.security.gpg-tui = { enable = lib.mkEnableOption "Enables gpg-tui."; @@ -17,17 +20,17 @@ }; config = lib.mkMerge [ - (lib.mkIf config.security.gpg-tui.enable { + (lib.mkIf cfg.enable { home.file.".local/share/icons/hicolor/scalable/apps/gpg.svg" = { source = ../../../assets/icons/apps/gpg.svg; }; - home.packages = [ config.security.gpg-tui.package ]; + home.packages = [ cfg.package ]; }) - (lib.mkIf (config.security.gpg-tui.enable && config.terminal.kitty.enable) { + (lib.mkIf (cfg.enable && config.terminal.kitty.enable) { xdg.desktopEntries."gpg-tui" = { name = "gpg-tui"; - exec = "${lib.getExe config.terminal.kitty.package} --class gpg-tui -e ${lib.getExe config.security.gpg-tui.package}"; + exec = "${lib.getExe config.terminal.kitty.package} --class gpg-tui -e ${lib.getExe cfg.package}"; icon = "gpg"; categories = [ "Security" ]; comment = "Terminal UI for GnuPG"; diff --git a/modules/security/gpg/default.nix b/modules/security/gpg/default.nix index 3047f59..8fa7348 100644 --- a/modules/security/gpg/default.nix +++ b/modules/security/gpg/default.nix @@ -6,6 +6,8 @@ ... }: let + cfg = config.security.gpg; + gpgBackupScript = pkgs.writeShellApplication { name = "gpg-backup"; runtimeInputs = [ @@ -51,19 +53,25 @@ in description = "The gpg package to use."; }; - backup = { - enable = lib.mkEnableOption "Enable the gpg-backup script"; - package = lib.mkOption { - type = lib.types.package; - readOnly = true; - default = gpgBackupScriptPkg; - description = "The package for the gpg-backup script"; + backup = lib.mkOption { + type = lib.types.submodule { + options = { + enable = lib.mkEnableOption "Enable the gpg-backup script"; + package = lib.mkOption { + type = lib.types.package; + readOnly = true; + default = gpgBackupScriptPkg; + description = "The package for the gpg-backup script"; + }; + }; }; + default = { }; + description = "GPG backup script configuration."; }; }; config = lib.mkMerge [ - (lib.mkIf config.security.gpg.enable { + (lib.mkIf cfg.enable { programs.gpg = { enable = true; homedir = "${config.xdg.dataHome}/gnupg"; @@ -82,8 +90,8 @@ in pinentry.package = pkgs.pinentry-rofi; }; }) - (lib.mkIf config.security.gpg.backup.enable { - home.packages = [ config.security.gpg.backup.package ]; + (lib.mkIf cfg.backup.enable { + home.packages = [ cfg.backup.package ]; }) ]; } |
