installer overhaul

This commit is contained in:
Wryn Wagner 2020-09-10 19:38:42 +00:00
parent 5e80267f2a
commit 3fd195ca45
6 changed files with 186 additions and 69 deletions

View File

@ -1,2 +1,6 @@
#!/bin/bash #!/bin/bash
[ ! -d "$HOME/.vim" ] && mkdir "$HOME/.vim"
[ ! -d "$HOME/.vim/colors" ] && mkdir "$HOME/.vim/colors"
for file in $(find ./ -name \*.vim); do cp $file ~/.vim/colors/; done for file in $(find ./ -name \*.vim); do cp $file ~/.vim/colors/; done
echo "vim colorschemes updated"

10
env/env.sh vendored
View File

@ -1,10 +0,0 @@
#!/bin/sh
# Default shell environment
LOCAL_OVERRIDES="$HOME/.config/wryn/env.sh"
[ -f "$LOCAL_OVERRIDES" ] \
&& source "$LOCAL_OVERRIDES" \
|| {
touch $LOCAL_OVERRIDES \
&& echo '#!/bin/sh' > $LOCAL_OVERRIDES \
&& echo '# Local overrides of .wryn environment variables '>> $LOCAL_OVERRIDES
}

188
setup
View File

@ -1,74 +1,176 @@
#!/bin/bash #!/bin/bash
[ ! -f "$HOME/.bashrc" ] && touch "$HOME/.bashrc";
[ ! -f "$HOME/.vimrc" ] && touch "$HOME/.vimrc"; ################################################################################
### SHELL SETUP ################################################################
################################################################################
[ ! -d "$HOME/.config" ] && mkdir "$HOME/.config"; [ ! -d "$HOME/.config" ] && mkdir "$HOME/.config";
[ ! -d "$HOME/.config/wryn" ] && mkdir "$HOME/.config/wryn"; [ ! -d "$HOME/.config/wryn" ] && mkdir "$HOME/.config/wryn";
# Source RCs function SOURCE_DOTWRYN_RC {
grep '.wryn' $HOME/.bashrc >/dev/null 2>/dev/null \ local HOME_RC="$1";
&& echo already set up bash rc \ local WRYN_RC="$2";
|| echo source $HOME/.wryn/bash/rc >> $HOME/.bashrc;
grep '.wryn' $HOME/.vimrc >/dev/null 2>/dev/null \ [ ! -f "$HOME/$HOME_RC" ] && touch "$HOME/$HOME_RC";
&& echo already set up vim rc \
|| echo source $HOME/.wryn/vim/rc.vim >> $HOME/.vimrc;
grep '.wryn' $HOME/.zshrc >/dev/null 2>/dev/null \ grep -q '\.wryn' "$HOME/$HOME_RC" \
&& echo already set up zsh rc \ && echo "already set up $HOME_RC" \
|| echo source $HOME/.wryn/zsh/rc >> $HOME/.zshrc; || {
echo "source $WRYN_RC" >> "$HOME/$HOME_RC";
echo "successfully set up $HOME_RC";
}
}
function SHELL__SETUP {
SOURCE_DOTWRYN_RC '.bashrc' '$HOME/.wryn/bash/rc'
which bash >/dev/null && "$HOME/.wryn/env/env.bash";
# setup local environments SOURCE_DOTWRYN_RC '.zshrc' '$HOME/.wryn/zsh/rc';
which sh >/dev/null && "$HOME/.wryn/env/env.sh"; which zsh >/dev/null && "$HOME/.wryn/env/env.zsh";
which bash >/dev/null && "$HOME/.wryn/env/env.bash"; }
which zsh >/dev/null && "$HOME/.wryn/env/env.zsh";
LOCAL_VIM_ENV="$HOME/.config/wryn/env.vim" ################################################################################
[ ! -f "$LOCAL_VIM_ENV" ] \ ### VIM SETUP ##################################################################
&& { ################################################################################
touch "$LOCAL_VIM_ENV";
function VIM__SETUP_ENVIRONMENT_VARIABLES() {
VIM_ENV="$HOME/.config/wryn/env.vim";
[ ! -f "$VIM_ENV" ] && {
touch "$VIM_ENV";
which google-chrome-stable \ which google-chrome-stable \
&& echo 'let $WEBBROWSER="'$(which google-chrome-stable)'"' >> $LOCAL_VIM_ENV\ && echo 'let $WEBBROWSER="'$(which google-chrome-stable)'"' >> $VIM_ENV\
|| echo 'let $WEBBROWSER=""' >> $LOCAL_VIM_ENV; || echo 'let $WEBBROWSER=""' >> $VIM_ENV;
} || { } || {
echo 'vim environment variables already set up'; echo 'vim environment variables already set up';
} }
}
function VIM__UPDATE_COLORSCHEMES() {
pushd $HOME/.wryn/config/colorschemes/vim >/dev/null
./update_colorschemes
popd >/dev/null
}
function VIM__INSTALL_VUNDLE_PLUGINS() {
[ ! -d "$HOME/.vim" ] && mkdir "$HOME/.vim"
[ ! -d "$HOME/.vim/bundle" ] && mkdir "$HOME/.vim/bundle"
[ ! -d "$HOME/.vim/bundle/Vundle.vim" ] && {
echo "installing vundle";
git clone https://github.com/VundleVim/Vundle.vim.git "$HOME/.vim/bundle/Vundle.vim";
}
echo "installing vundle plugins"
vim +PluginInstall +qall;
echo "building plugins"
$HOME/.wryn/vim/rebuild_plugins;
}
function VIM__SETUP() {
echo 'setting up vim';
SOURCE_DOTWRYN_RC '.vimrc' '$HOME/.wryn/vim/rc.vim';
VIM__SETUP_ENVIRONMENT_VARIABLES;
VIM__UPDATE_COLORSCHEMES;
VIM__INSTALL_VUNDLE_PLUGINS;
echo 'vim setup complete';
}
#VIM__SETUP;
################################################################################
### LINK CONFIGURATION FILES ###################################################
################################################################################
# setup config symlinks # setup config symlinks
[ -f "$HOME/.tmux.conf" ] && mv "$HOME/.tmux.conf" "$HOME/.tmux.conf.bak";
ln -s "$HOME/.wryn/tmux/tmux.conf" "$HOME/.tmux.conf";
xfce4-panel --version >/dev/null 2>&1 \ xfce4-panel --version >/dev/null 2>&1 \
&& [ ! -f "$HOME/.xinitrc" ] \ && [ ! -f "$HOME/.xinitrc" ] \
&& ln -s "$HOME/.wryn/config/xserver/xinitrc" "$HOME/.xinitrc"; && ln -s "$HOME/.wryn/config/xserver/xinitrc" "$HOME/.xinitrc";
function SYMLINK_CONFIG() { function CONFIG__BASIC_SYMLINK() {
# $1 = config directory name local HOME_CONFIG="$1";
# $2 = filename local WRYN_CONFIG="$2";
[ ! -d "$HOME/.config/$1" ] && mkdir "$HOME/.config/$1";
[ -f "$HOME/.config/$1/$2" ] && mv "$HOME/.config/$1/$2" "$HOME/.config/$1/$2.bak"; mv "$HOME_CONFIG" "$HOME_CONFIG.bak"; # >/dev/null 2>&1;
ln -s "$HOME/.wryn/config/$1/$2" "$HOME/.config/$1/$2"; ln -s "$WRYN_CONFIG" "$HOME_CONFIG";
} }
function SYMLINK_RC() { function CONFIG__SYMLINK() {
# $1 = path (from .wryn) to rc file local CONFIG_DIR="$1";
# $2 = system rc filename local FILENAME="$2";
[ ! -f "$HOME/.config/$2" ] && [ -f "$HOME/.wryn/$1" ] && ln -s "$HOME/.wryn/$1" "$HOME/.config/$2";
local HOME_CONFIG_DIR="$HOME/.config/$CONFIG_DIR";
local HOME_CONFIG="$HOME_CONFIG_DIR/$FILENAME";
local WRYN_CONFIG="$HOME/.wryn/.config/$CONFIG_DIR/$FILENAME";
[ ! -d "$HOME_CONFIG_DIR" ] && mkdir "$HOME_CONFIG_DIR";
CONFIG__BASIC_SYMLINK $HOME_CONFIG $WRYN_CONFIG;
} }
SYMLINK_CONFIG "compton" "compton.conf";
SYMLINK_CONFIG "i3" "config";
SYMLINK_CONFIG "kitty" "kitty.conf";
SYMLINK_CONFIG "kitty" "theme.conf";
SYMLINK_RC "config/pylint/pylintrc" "pylintrc"; function CONFIG__I3() {
CONFIG__SYMLINK "i3" "config";
function terminfo_setup() { echo "linked i3 configuration"
}
function CONFIG__COMPTON() {
CONFIG__SYMLINK "compton" "compton.conf";
echo "linked compton configuration"
}
function CONFIG__KITTY() {
CONFIG__SYMLINK "kitty" "kitty.conf";
CONFIG__SYMLINK "kitty" "theme.conf";
echo "linked kitty configuration"
}
function CONFIG__PYLINT() {
CONFIG__BASIC_SYMLINK "$HOME/.config/pylintrc" "$HOME/.wryn/config/pylint/pylintrc";
echo "linked pylint configuration"
}
function CONFIG__TMUX() {
CONFIG__BASIC_SYMLINK "$HOME/.tmux.conf" "$HOME/.wryn/tmux/tmux.conf";
echo "linked tmux configuration"
}
function CONFIG__TERMINFO() {
echo "adding terminfo files"
for file in $(find "$HOME/.wryn/config/terminfo" -type f); do for file in $(find "$HOME/.wryn/config/terminfo" -type f); do
tic -x $file; tic -x $file >/dev/null 2>&1 || echo "failed to add $file" ;
done done
} }
terminfo_setup;
function CONFIG__SETUP() {
CONFIG__I3;
CONFIG__COMPTON;
CONFIG__KITTY;
CONFIG__PYLINT;
CONFIG__TMUX;
CONFIG__TERMINFO;
}
################################################################################
### RUN CONFIG #################################################################
################################################################################
SHELL__SETUP;
VIM__SETUP;
CONFIG__SETUP;
echo -e "\nsetup complete"

View File

@ -1,4 +1,4 @@
colorscheme $COLORSCHEME silent! colorscheme $COLORSCHEME
set t_Co=256 set t_Co=256

View File

@ -13,7 +13,9 @@ let mapleader = "\\"
"let localmapleader = ',' "let localmapleader = ','
" Load Vundle first " Load Vundle first
source $VIM_DIR/vundle.vim if isdirectory(expand("$HOME/.vim/bundle/Vundle.vim"))
source $VIM_DIR/vundle.vim
endif
source $VIM_DIR/global_sets.vim source $VIM_DIR/global_sets.vim
source $VIM_DIR/file_formatting.vim source $VIM_DIR/file_formatting.vim

View File

@ -1,22 +1,41 @@
#!/bin/bash #!/bin/bash
function updateCommandT() { function INSTALL() {
local COMMAND_T_DIR="$HOME/.vim/bundle/command-t/ruby/command-t/ext/command-t"; local CMD_NAME="$1"
[ ! -d $COMMAND_T_DIR ] && echo "Unable to locate command t build files" && exit 1; local BUILD_DIR="$2"
local BUILD="$3"
cd $COMMAND_T_DIR; echo "installing $CMD_NAME";
ruby extconf.rb; [ ! -d $BUILD_DIR ] && { echo "unable to locate $CMD_NAME build files"; exit 1; }
make;
$BUILD >/dev/null 2>&1 \
&& echo "$CMD_NAME installation successful" \
|| echo "$CMD_NAME installation failed. Please attempt manual installation";
} }
function buildYCM() { function INSTALL_COMMAND_T() {
python3 --version || "python3-dev required to build YouCompleteMe" && exit 1; local CMD_NAME='CommandT'
local YCM_DIR="$HOME/.vim/bundle/YouCompleteMe"; local BUILD_DIR="$HOME/.vim/bundle/command-t/ruby/command-t/ext/command-t";
[ ! -d $YCM_DIR ] && echo "Unable to locate YouCompleteMe build files" && exit 1;
cd $YCM_DIR; function BUILD() {
python3 install.py; cd $BUILD_DIR;
ruby extconf.rb;
make
}
INSTALL $CMD_NAME $BUILD_DIR BUILD;
} }
#updateCommandT; function INSTALL_YCM() {
buildYCM; local CMD_NAME='YouCompleteMe';
local BUILD_DIR="$HOME/.vim/bundle/YouCompleteMe";
function BUILD() {
python3 $BUILD_DIR/install.py;
}
INSTALL $CMD_NAME $BUILD_DIR BUILD;
}
#INSTALL_COMMAND_T;
INSTALL_YCM;