aboutsummaryrefslogtreecommitdiffstats
path: root/modules/security/gpg
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-09-20 04:15:53 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-09-20 04:15:53 +0530
commitdaea646972aa03ce8e58bff2edaed16bf7fbf9db (patch)
tree0f0ee033422e456b14b3e012ca8b1a490b77de15 /modules/security/gpg
parentfb442560064f98ee850c71d78330b9b3abda4774 (diff)
downloadhome-manager-config-daea646972aa03ce8e58bff2edaed16bf7fbf9db.tar.gz
home-manager-config-daea646972aa03ce8e58bff2edaed16bf7fbf9db.zip
chore: added better assertions for options for submodules
Now setting options for submodules requires the submodule to be enabled first.
Diffstat (limited to 'modules/security/gpg')
-rw-r--r--modules/security/gpg/assertions.nix10
-rw-r--r--modules/security/gpg/default.nix2
2 files changed, 12 insertions, 0 deletions
diff --git a/modules/security/gpg/assertions.nix b/modules/security/gpg/assertions.nix
new file mode 100644
index 0000000..1108e47
--- /dev/null
+++ b/modules/security/gpg/assertions.nix
@@ -0,0 +1,10 @@
+# Validates GPG sub-options require the main module to be enabled
+{ config, ... }:
+{
+ assertions = [
+ {
+ assertion = !config.security.gpg.backup.enable || config.security.gpg.enable;
+ message = "security.gpg.backup.enable requires security.gpg.enable.";
+ }
+ ];
+}
diff --git a/modules/security/gpg/default.nix b/modules/security/gpg/default.nix
index 6956711..3047f59 100644
--- a/modules/security/gpg/default.nix
+++ b/modules/security/gpg/default.nix
@@ -38,6 +38,8 @@ let
};
in
{
+ imports = [ ./assertions.nix ];
+
options.security.gpg = {
enable = lib.mkEnableOption "Enables gpg.";