diff options
Diffstat (limited to 'modules/scripts/gpg-backup')
| -rw-r--r-- | modules/scripts/gpg-backup/completion.zsh | 23 | ||||
| -rw-r--r-- | modules/scripts/gpg-backup/default.nix | 2 | ||||
| -rw-r--r-- | modules/scripts/gpg-backup/script.sh | 1 |
3 files changed, 26 insertions, 0 deletions
diff --git a/modules/scripts/gpg-backup/completion.zsh b/modules/scripts/gpg-backup/completion.zsh new file mode 100644 index 0000000..f47bbe8 --- /dev/null +++ b/modules/scripts/gpg-backup/completion.zsh @@ -0,0 +1,23 @@ +#compdef gpg-backup + +_arguments \ + '1: :->cmds' \ + '*::arg:->args' + +case $state in + cmds) + local -a commands + commands=( + 'export:Export all GPG keys to a passphrase-protected file' + 'import:Import GPG keys from a backup file' + ) + _describe 'command' commands + ;; + args) + case $words[1] in + export|import) + _files + ;; + esac + ;; +esac diff --git a/modules/scripts/gpg-backup/default.nix b/modules/scripts/gpg-backup/default.nix index d91c839..1ab41b4 100644 --- a/modules/scripts/gpg-backup/default.nix +++ b/modules/scripts/gpg-backup/default.nix @@ -11,11 +11,13 @@ let 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.bash pkgs.gnupg pkgs.gnutar pkgs.coreutils pkgs.findutils ]; + completion = builtins.readFile ./completion.zsh; inherit config; }; in diff --git a/modules/scripts/gpg-backup/script.sh b/modules/scripts/gpg-backup/script.sh index c8e7363..57c216b 100644 --- a/modules/scripts/gpg-backup/script.sh +++ b/modules/scripts/gpg-backup/script.sh @@ -1,3 +1,4 @@ +#!/usr/bin/env bash set -euo pipefail WORKDIR="$(mktemp -d)" |
