-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathvissh_snap
executable file
·35 lines (26 loc) · 4.68 KB
/
vissh_snap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
REAL_HOME=$(getent passwd $(id -u) | cut -d ':' -f 6);
if [ ! -f $REAL_HOME/.vimrc ]; then touch $REAL_HOME/.vimrc; fi;
if ([ -f $REAL_HOME/.bashrc ] && ( ! grep -qR 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' $REAL_HOME/.bashrc ));
then echo 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' >> $REAL_HOME/.bashrc && bash
fi
if ([ -f $REAL_HOME/.zshrc ] && ( ! grep -qR 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' $REAL_HOME/.zshrc ));
then echo 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' >> $REAL_HOME/.zshrc && zsh
fi
echo "" >> $REAL_HOME/.ssh/viSSHous || exit
echo "# last updated: $(date)" > $REAL_HOME/.ssh/viSSHous
echo 'Include ~/.ssh/config' >> $REAL_HOME/.ssh/viSSHous
echo "SetEnv LC_MONETARY=$(cat $REAL_HOME/.vimrc | base64 -w 0)" >> $REAL_HOME/.ssh/viSSHous
echo 'RemoteCommand mkdir -p ~/.vim; echo $LC_MONETARY > ~/.vim/visshnu; base64 --decode ~/.vim/visshnu > ~/.vimrc; echo "😈 [LOG] VimRC was configured successfully"; if ( ! command -v vim &> /dev/null ); then echo "👿 [WARN] Vim not found"; sudo apt-get install vim -y &> /dev/null; if [ $? != 0 ]; then echo "👿 [WARN] Vim could not be auto-installed. Try manually with \`sudo apt-get install vim -y \`"; else echo "😈 [RESOLVED] Vim was auto-installed successfully"; fi; fi; if ( grep -qR "plug#begin" ~/.vimrc); then set vimplug=true; echo "😈 [LOG] Plugin manager detected: Vim-Plug"; fi; if ( grep -qR "plugin#begin" ~/.vimrc); then set vundle=true; echo "😈 Plugin manager detected: Vundle"; fi; if ([ -z $vimplug ] && [ ! -f ~/.vim/autoload/plug.vim ]); then curl -sfLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim; if [ $? == 0 ]; then echo "😈 [LOG] Vim-Plug was auto-installed successfully"; fi; fi; if (( [ -z $vimplug ] || [ -z $vundle ]) && ( ! command -v git &> /dev/null )); then echo "👿 [WARN] Git not detected, but required by plugin manager."; sudo apt-get install git -y &> /dev/null; if [ $? != 0 ]; then echo "👿 [WARN] Git could not be auto-installed. Try manually with \`sudo apt-get install git\`"; else echo "😈 [RESOLVED] Git was auto-installed successfully"; fi; fi; if ( [ -z $vimplug ] && [ -f ~/.vim/autoload/plug.vim ] ) ; then echo "😈 [LOG] Installing/updating plugins with Vim-Plug"; yes | vim -c ":PlugInstall | quit! | quit!" &> /dev/null; fi; echo "😈 [LOG] viSSHous setup complete"; bash' >> $REAL_HOME/.ssh/viSSHous
echo "RequestTTY yes" >> $REAL_HOME/.ssh/viSSHous
inotifywait -e modify $REAL_HOME/.vimrc;
if ([ -f $REAL_HOME/.bashrc ] && ( ! grep -qR 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' $REAL_HOME/.bashrc ));
then echo 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' >> $REAL_HOME/.bashrc && bash
fi
if ([ -f $REAL_HOME/.zshrc ] && ( ! grep -qR 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' $REAL_HOME/.zshrc ));
then echo 'alias ssh="ssh -F $HOME/.ssh/viSSHous"' >> $REAL_HOME/.zshrc && zsh
fi
echo "# last updated: $(date)" > $REAL_HOME/.ssh/viSSHous
echo 'Include ~/.ssh/config' >> $REAL_HOME/.ssh/viSSHous
echo "SetEnv LC_MONETARY=$(cat $REAL_HOME/.vimrc | base64 -w 0)" >> $REAL_HOME/.ssh/viSSHous
echo 'RemoteCommand mkdir -p ~/.vim; echo $LC_MONETARY > ~/.vim/visshnu; base64 --decode ~/.vim/visshnu > ~/.vimrc; echo "😈 [LOG] VimRC was configured successfully"; if ( ! command -v vim &> /dev/null ); then echo "👿 [WARN] Vim not found"; sudo apt-get install vim -y &> /dev/null; if [ $? != 0 ]; then echo "👿 [WARN] Vim could not be auto-installed. Try manually with \`sudo apt-get install vim -y \`"; else echo "😈 [RESOLVED] Vim was auto-installed successfully"; fi; fi; if ( grep -qR "plug#begin" ~/.vimrc); then set vimplug=true; echo "😈 [LOG] Plugin manager detected: Vim-Plug"; fi; if ( grep -qR "plugin#begin" ~/.vimrc); then set vundle=true; echo "😈 Plugin manager detected: Vundle"; fi; if ([ -z $vimplug ] && [ ! -f ~/.vim/autoload/plug.vim ]); then curl -sfLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim; if [ $? == 0 ]; then echo "😈 [LOG] Vim-Plug was auto-installed successfully"; fi; fi; if (( [ -z $vimplug ] || [ -z $vundle ]) && ( ! command -v git &> /dev/null )); then echo "👿 [WARN] Git not detected, but required by plugin manager."; sudo apt-get install git -y &> /dev/null; if [ $? != 0 ]; then echo "👿 [WARN] Git could not be auto-installed. Try manually with \`sudo apt-get install git\`"; else echo "😈 [RESOLVED] Git was auto-installed successfully"; fi; fi; if ( [ -z $vimplug ] && [ -f ~/.vim/autoload/plug.vim ] ) ; then echo "😈 [LOG] Installing/updating plugins with Vim-Plug"; yes | vim -c ":PlugInstall | quit! | quit!" &> /dev/null; fi; echo "😈 [LOG] viSSHous setup complete"; bash' >> $REAL_HOME/.ssh/viSSHous
echo "RequestTTY yes" >> $REAL_HOME/.ssh/viSSHous