diff --git a/chrootInstall.sh b/chrootInstall.sh index ddb8c54..b0a85dd 100755 --- a/chrootInstall.sh +++ b/chrootInstall.sh @@ -58,7 +58,7 @@ permit nopass $username as root cmd /usr/local/bin/powerset.sh permit nopass $username as root cmd /usr/bin/poweroff permit nopass $username as root cmd /usr/bin/reboot " > /etc/doas.conf - +curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/doas-completion -o /usr/share/bash-completion/completions/doas ln -s /usr/bin/doas /usr/bin/sudo # misc. configuration diff --git a/config-files/doas-completion b/config-files/doas-completion new file mode 100644 index 0000000..1b5abc6 --- /dev/null +++ b/config-files/doas-completion @@ -0,0 +1,45 @@ +# doas(1) completion -*- shell-script -*- + +_comp_cmd_doas() +{ + local cur prev words cword split + _init_completion -s || return + + local i + + for ((i = 1; i <= cword; i++)); do + if [[ ${words[i]} != -* ]]; then + local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin + local root_command=${words[i]} + _command_offset $i + return + fi + [[ ${words[i]} == -@(!(-*)[uCLs]) ]] && + ((i++)) + done + + case "$prev" in + -!(-*)u) + COMPREPLY=($(compgen -u -- "$cur")) + return + ;; + -!(-*)C) + _filedir + return + ;; + -!(-*)[Ls]) + return + ;; + esac + + $split && return + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_usage "$1")' -- "$cur")) + [[ ${COMPREPLY-} == *= ]] && compopt -o nospace + return + fi +} && + complete -F _comp_cmd_doas doas + +# ex: filetype=sh