aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/gpg-backup/default.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-02 03:14:53 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-02 03:14:53 +0530
commitd213c8b40f891bd83f2977f89b25ca341ee01ca4 (patch)
tree94b5bcd23478c09e952a61ba4a58c20bd2f193b8 /modules/scripts/gpg-backup/default.nix
parenta16754ff06b7db478a9252bb6159652818cdad0d (diff)
downloadhome-manager-config-d213c8b40f891bd83f2977f89b25ca341ee01ca4.tar.gz
home-manager-config-d213c8b40f891bd83f2977f89b25ca341ee01ca4.zip
feat: added gpg-backup script
- Added utility script that can export and import gpg public keys, private keys and trust database
Diffstat (limited to 'modules/scripts/gpg-backup/default.nix')
-rw-r--r--modules/scripts/gpg-backup/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/scripts/gpg-backup/default.nix b/modules/scripts/gpg-backup/default.nix
new file mode 100644
index 0000000..d91c839
--- /dev/null
+++ b/modules/scripts/gpg-backup/default.nix
@@ -0,0 +1,25 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+let
+ inherit ((import ../lib.nix { inherit lib pkgs; })) mkScriptModule;
+ base = mkScriptModule {
+ name = "gpg-backup";
+ path = ./script.sh;
+ description = "Export/import all GPG keys as a single passphrase-protected file with maximum S2K iteration count\nUsage: gpg-backup export filename.gpg | gpg-backup import filename.gpg";
+ deps = [
+ pkgs.gnupg
+ pkgs.gnutar
+ pkgs.coreutils
+ pkgs.findutils
+ ];
+ inherit config;
+ };
+in
+{
+ options = base.options;
+ config = base.moduleConfig;
+}