Add doas config stuff

This commit is contained in:
Tobias Reisinger 2021-01-31 14:42:35 +01:00
parent b44c41f339
commit 3d17d60bc9
5 changed files with 97 additions and 6 deletions

View file

@ -10,7 +10,7 @@ alias bfg='java -jar ~/tools/bfg-1.13.0.jar'
alias cp='cp -i'
alias df='df -h'
alias doas='doas --'
alias doas='doas -- '
alias dotfiles='.f'
alias dotfiles-mail='.fm'
alias du='du -h'

View file

@ -1,5 +1,5 @@
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.config/zsh/oh-my-zsh"
export ZSH="$ZDOTDIR/oh-my-zsh"
if [ ! -f "$ZSH/oh-my-zsh.sh" ]
then
@ -65,7 +65,13 @@ DISABLE_AUTO_UPDATE="false"
# HIST_STAMPS="yyyy-mm-dd"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
ZSH_CUSTOM=$ZDOTDIR/custom
priv_plugin=sudo
if [ -x "$(command -v doas)" ]
then
priv_plugin=doas
fi
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
@ -83,8 +89,9 @@ plugins=(
jump
kubectl
safe-paste
sudo
vi-mode
$priv_plugin
)
source $ZSH/oh-my-zsh.sh

View file

@ -0,0 +1,47 @@
# doas-zsh-plugin
Easily prefix your current or previous commands with `doas` by pressing <kbd>esc</kbd> twice
To use it, add the following to your zshrc:
```console
plugins=(doas)
```
## Usage
### Current typed commands
Say you have typed a long command and forgot to add `doas` in front:
```console
$ apt-get install build-essential
```
By pressing the <kbd>esc</kbd> key twice, you will have the same command with `doas` prefixed without typing:
```console
$ doas apt-get install build-essential
```
### Previous executed commands
Say you want to delete a system file and denied:
```console
$ rm some-system-file.txt
-su: some-system-file.txt: Permission denied
$
```
By pressing the <kbd>esc</kbd> key twice, you will have the same command with `doas` prefixed without typing:
```console
$ rm some-system-file.txt
-su: some-system-file.txt: Permission denied
$ doas rm some-system-file.txt
Password:
$
```
Plugin inspired by sudo plugin by [Dongweiming](https://github.com/dongweiming)

View file

@ -0,0 +1,32 @@
# ------------------------------------------------------------------------------
# Description
# -----------
#
# doas will be inserted before the command
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * Anatoly <akopyl@radner.ru>
#
# ------------------------------------------------------------------------------
doas-command-line() {
[[ -z $BUFFER ]] && LBUFFER="$(fc -ln -1)"
if [[ $BUFFER == doas\ * ]]; then
if [[ ${#LBUFFER} -le 4 ]]; then
RBUFFER="${BUFFER#doas }"
LBUFFER=""
else
LBUFFER="${LBUFFER#doas }"
fi
else
LBUFFER="doas $LBUFFER"
fi
}
zle -N doas-command-line
# Defined shortcut keys: [Esc] [Esc]
bindkey -M emacs '\e\e' doas-command-line
bindkey -M vicmd '\e\e' doas-command-line
bindkey -M viins '\e\e' doas-command-line

View file

@ -1,6 +1,6 @@
#!/usr/bin/sh
yay -Syu
paru -Syu
if [ $? -eq 0 ]; then
echo "UPDATE SUCCEDEED"
@ -13,7 +13,12 @@ fi
echo "==================================================================="
sudo checkservices
if [ -x "$(command -v doas)" ]
then
doas checkservices
else
sudo checkservices
fi
if [ $? -eq 0 ]; then
echo "CHECKSERVICES SUCCEDEED"