Add doas config stuff
This commit is contained in:
		
							parent
							
								
									b44c41f339
								
							
						
					
					
						commit
						3d17d60bc9
					
				
					 5 changed files with 97 additions and 6 deletions
				
			
		|  | @ -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' | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
							
								
								
									
										47
									
								
								.config/zsh/custom/plugins/doas/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								.config/zsh/custom/plugins/doas/README.md
									
										
									
									
									
										Normal 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) | ||||
							
								
								
									
										32
									
								
								.config/zsh/custom/plugins/doas/doas.plugin.zsh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.config/zsh/custom/plugins/doas/doas.plugin.zsh
									
										
									
									
									
										Normal 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 | ||||
|  | @ -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" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue