Add ssh-sign function
This commit is contained in:
parent
cac08403a8
commit
151f91fb24
|
@ -1 +1,2 @@
|
||||||
[[ -d "${ZDOTDIR}"/functions ]] && fpath+=( "${ZDOTDIR}"/functions )
|
[[ -d "${ZDOTDIR}"/functions ]] && fpath+=( "${ZDOTDIR}"/functions )
|
||||||
|
[[ -d "${ZDOTDIR}"/completions ]] && fpath+=( "${ZDOTDIR}"/completions )
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#compdef ssh-sign
|
||||||
|
|
||||||
|
_arguments '-f[keyfile]:filename:_files' '-n[namespace]:namespace:_ssh-sign_namespaces' '*:file:_files'
|
||||||
|
|
||||||
|
function _ssh-sign_namespaces()
|
||||||
|
{
|
||||||
|
local -a namespaces=(file email git "@$(dnsdomainname)")
|
||||||
|
_values "namespace" ${namespaces}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
# Sign files with SSH
|
||||||
|
|
||||||
|
setopt LOCAL_OPTIONS ERR_RETURN NO_UNSET PIPE_FAIL
|
||||||
|
|
||||||
|
autoload -U die
|
||||||
|
[[ ${ARGC} -eq 0 ]] && die 1 "Usage: ${0} [-f KEYFILE] [-n NAMESPACE] <file> …"
|
||||||
|
|
||||||
|
zmodload zsh/zutil
|
||||||
|
local -a keyfile=(-f ~/.ssh/id_ed25519)
|
||||||
|
local -a namespace=(-n file)
|
||||||
|
zparseopts -D -K -- f:=keyfile n:=namespace
|
||||||
|
|
||||||
|
ssh-keygen -Y sign -f ${keyfile[2]} -n ${namespace[2]} ${@}
|
Loading…
Reference in New Issue