diff options
Diffstat (limited to 'ship/src/bootstrap_env_makefu')
-rwxr-xr-x | ship/src/bootstrap_env_makefu | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/ship/src/bootstrap_env_makefu b/ship/src/bootstrap_env_makefu new file mode 100755 index 00000000..e61f4e99 --- /dev/null +++ b/ship/src/bootstrap_env_makefu @@ -0,0 +1,171 @@ +#!/bin/sh +# TODO: modularize zsh configuration and vim configuration +#@info +#@strict +#@include core +#@include punani +#@include vim + +# vim +python +_punanidb_pacman_vim_python=gvim +_punanidb_yum_vim_python=vim-enhanced +_punanidb_aptget_vim_python=vim + +# TODO pull out youcompleteme into a vim function +# cmake ,make,g++,python-dev for youcompleteme +_punanidb_pacman_cmake=cmake +_punanidb_yum_cmake=cmake +_punanidb_aptget_cmake=cmake +#@mainifyme + +info "Configuring environment for $(id -un)" +cd $(readlink -f $(dirname $0)) +info "Using punani to install git vim and zsh" +punani install git vim_python zsh gpp cmake make python2_dev || die "cannot install some shit" + +info "writing dotfiles" +# deploying zshrc +# TODO modularize zshrc +cat > $HOME/.zshrc <<EOF +# Path to your oh-my-zsh configuration. +export ZSH=\$HOME/.oh-my-zsh + +# Look in ~/.oh-my-zsh/themes/ +export ZSH_THEME="gallifrey" + +# Comment this out to disable weekly auto-update checks +export DISABLE_AUTO_UPDATE="true" + +plugins=(git ssh-agent) +. \$ZSH/oh-my-zsh.sh +test -e \$HOME/.aliases && source \$HOME/.aliases + +# Customize to your needs... +export PATH=/usr/sbin:/krebs/bin:\$HOME/bin:\$PATH:/sbin +HISTFILE=~/.histfile +HISTSIZE=9000001 +SAVEHIST=9000001 + +export EDITOR=vim + +export JAVA_HOME=\$JAVA_HOME:/opt/java/jre + +GREP_COLOR="1;33" +alias grep='grep --color=auto' +alias vi=vim + +export MANPATH=\$MANPATH:\$HOME/man + +if [ -f "\$HOME/.dircolors" ] ; then + eval \$(dircolors -b "\$HOME/.dircolors") + export LS_COLORS +fi + +which fortune >/dev/null && fortune -a +which task >/dev/null && task +echo "--" +test -r ~/TODO && cat ~/TODO + +setopt menu_complete +unsetopt correct_all +export PYTHONSTARTUP=~/.pythonrc +EOF +info 'deploying pythonrc' +cat > $HOME/.pythonrc <<EOF +import rlcompleter, readline +readline.parse_and_bind('tab:complete') +EOF +info "deploying vim config" +if [ -e $HOME/.vim ] ; then + oldvim=$HOME/.vim.`date +%Y%M%d` + info "Backing up old vim folder to $oldvim" + mv -v $HOME/.vim $oldvim +fi + +mkdir -p $HOME/.vim + +# TODO modilarize vimconfig + +cat > $HOME/.vim/vimrc <<EOF +filetype off +set rtp+=~/.vim/bundle/vundle +call vundle#rc() +" TODO refactor this +Bundle 'gmarik/vundle' +Bundle 'SudoEdit.vim' +Bundle 'snipMate' +Bundle 'tpope/vim-fugitive' +Bundle 'Valloric/YouCompleteMe' +Bundle 'scrooloose/syntastic' +Bundle 'sjl/gundo.vim' + +nnoremap <F5> :GundoToggle<CR> +set undodir=~/.vim/undo +set undofile +"maximum number of changes that can be undone +set undolevels=1000000 +"maximum number lines to save for undo on a buffer reload +set undoreload=10000000 + +set pastetoggle=<F2> +set showmode +filetype plugin indent on + + +filetype plugin indent on + +let g:snips_author = 'Bob Ross <root@syntax-fehler.de>' +let g:makefu_author = 'makefu' + +" pasting +nnoremap <F2> :set invpaste paste?<CR> +set pastetoggle=<F2> +set showmode + +" save on focus lost +au FocusLost * :wa + +set spelllang=en + +set textwidth=9001 +autocmd BufRead *.json set filetype=json +EOF +if [ -e $HOME/.vimrc ] ; then + oldvim=$HOME/.vimrc.`date +%Y%M%d` + info "Backing up old vimrc file to $oldvim" + mv -v $HOME/.vimrc $oldvim +fi +info "Symlinking .vimrc to .vim/vimrc" +ln -vs $HOME/.vim/vimrc $HOME/.vimrc +vim_conf_sane_defaults + +#install all the vim stuff with the help of vundle +cd $HOME/.vim +mkdir -p bundle undo backup +info "Fetching vim-vundle" +git clone https://github.com/gmarik/vundle.git bundle/vundle > /dev/null && \ + info "Vim Vundle deployed" +info "Installing Vundle Bundles" +vim "+:BundleInstall" "+:qall" + +info "building youcompleteme libs" +cd $HOME/.vim/bundle/YouCompleteMe +./install.sh +cd - + +info "configuring zsh" +if exists zsh; then + if [ "$SHELL" != "`which zsh`" ] ;then + info "setting zsh as new shell,please enter your user password" + chsh -s `which zsh` + else + info "zsh already set as default shell" + fi + if [ ! -d ~/.oh-my-zsh ] ; then + git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh > /dev/null && info "oh-my-zsh deployed" + else + info "oh-my-zsh already installed" + fi +else + error "cannot find zsh :(" +fi |