diff --git a/plugins/autosudo/README.md b/plugins/autosudo/README.md new file mode 100644 index 000000000..aa0ccd00b --- /dev/null +++ b/plugins/autosudo/README.md @@ -0,0 +1,8 @@ + +Development +============ + +1. virtual_env pip +if virtual env path is writeable by user (e.g. $HOME), not need sudo. +export VIRTURL_ENV="path" + diff --git a/plugins/autosudo/autosudo.plugin.zsh b/plugins/autosudo/autosudo.plugin.zsh new file mode 100644 index 000000000..192c2a2fb --- /dev/null +++ b/plugins/autosudo/autosudo.plugin.zsh @@ -0,0 +1,52 @@ +[ $(id -u) -eq 0 ] && return + +function pacman() { + case $1 in + -S | -S[^sih]* | -R* | -U*) sudo pacman $* ;; + * ) command pacman $* ;; + esac +} + +function clyde() { + case $1 in + -S | -S[^sih]* | -R* | -U*) sudo clyde $* ;; + * ) command clyde $* ;; + esac +} + +# special: virtual_env +function pip() { + if [[ -n ${VIRTUAL_ENV+1} && -w $VIRTUAL_ENV ]] ; then + command pip $* + else + case $1 in + install | uninstall ) sudo pip $* ;; + *) command pip $* ;; + esac + fi +} + +function npm() { + case $1 in + install | uninstall ) sudo npm $* ;; + *) command npm $* ;; + esac +} + +function mount() { + case $i in + "" ) command mount ;; + * ) sudo mount $* ;; + esac +} +alias umount="sudo umount" + +alias dhdpcd="sudo dhcpcd" +alias netcfg="sudo netcfg" + +alias halt="sudo halt" +alias reboot="sudo reboot" + +alias easy_install="sudo easy_install" + +alias pppoe-connect="sudo pppoe-connect"