fish-shell/share/completions/systemd-cryptenroll.fish
2022-12-30 13:42:54 +01:00

46 lines
2.8 KiB
Fish

function __fish_cryptenroll_pkcs11_devices
systemd-cryptenroll --pkcs11-token-uri=list 2>/dev/null | tail -n +2 | string replace -r '(\S+)\s(\S+).*' '$1\t$2'
echo -e "auto\tautomatically determine URI of security token"
echo -e "list\tlist available PKCS#11 tokens"
end
function __fish_cryptenroll_fido2_devices
systemd-cryptenroll --fido2-device=list 2>/dev/null | tail -n +2 | string replace -ar ' +' ' ' | string replace -r '(\S+)\s(.*)' '$1\t$2'
echo -e "auto\tautomatically determine device node of security token"
echo -e "list\tlist available FIDO2 tokens"
end
function __fish_cryptenroll_tpm2_devices
systemd-cryptenroll --tpm2-device=list 2>/dev/null | tail -n +2 | string replace -r '(\S+)\s(\S+).*' '$1\t$2'
echo -e "auto\tautomatically determine device node of TPM2 device"
echo -e "list\tlist available TPM2 devices"
end
function __fish_cryptenroll_complete_wipe
echo -e "all\twipe all key slots"
echo -e "empty\twipe key slots unlocked by an empty passphrase"
echo -e "password\twipe key slots unlocked by a traditional passphrase"
echo -e "recovery\twipe key slots unlocked by a recovery key"
echo -e "pkcs11\twipe key slots unlocked by a PKCS#11 token"
echo -e "fido2\twipe key slots unlocked by a FIDO2 token"
echo -e "tpm2\twipe key slots unlocked by a TPM2 chip"
for i in (seq 0 31)
echo -e "$i\twipe key slot $i"
end
end
complete -c systemd-cryptenroll -xa "(__fish_complete_blockdevice)"
complete -c systemd-cryptenroll -l password -d "Enroll a regular password"
complete -c systemd-cryptenroll -l recovery-key -d "Enroll an auto-generated recovery key"
complete -c systemd-cryptenroll -l pkcs11-token-uri -kxa "(__fish_cryptenroll_pkcs11_devices)" -d "Enroll a PKCS#11 security token or smartcard"
complete -c systemd-cryptenroll -l fido2-device -kxa "(__fish_cryptenroll_fido2_devices)" -d "Enroll a FIDO2 security token"
complete -c systemd-cryptenroll -l fido2-with-client-pin -xa "yes no" -d "Require to enter a PIN when unlocking the volume"
complete -c systemd-cryptenroll -l fido2-with-user-presence -xa "yes no" -d "Require to verify presence when unlocking the volume"
complete -c systemd-cryptenroll -l fido2-with-user-verification -xa "yes no" -d "Require user verification when unlocking the volume"
complete -c systemd-cryptenroll -l tpm2-device -kxa "(__fish_cryptenroll_tpm2_devices)" -d "Enroll a TPM2 security chip"
complete -c systemd-cryptenroll -l tpm2-pcrs -x -d "Bind the enrollment of TPM2 device to speficied PCRs"
complete -c systemd-cryptenroll -l wipe-slot -kxa "(__fish_complete_list , __fish_cryptenroll_complete_wipe)" -d "Wipes one or more LUKS2 key slots"
complete -c systemd-cryptenroll -l help -s h -d "Print a short help"
complete -c systemd-cryptenroll -l version -d "Print a short version string"