port to function based script

This commit is contained in:
waldek 2022-08-24 21:04:22 +02:00
parent e21209def7
commit 4d93b9e061
4 changed files with 130 additions and 16 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.swp

View File

@ -1,23 +1,106 @@
#!/bin/bash #!/bin/bash
ME="waldek" NAME="waldek"
LOCALHOME="/home/" EMAIL="waldek@mailbox.org"
DEPENDENCIES_APT="zsh git tig tmux vim-nox htop python3 python3-pip"
if [ $USER != $ME ]; then LOCALHOME="/home/"
SOURCES_DIR=~/sources
BOOTSTRAP_DIR=~/sources/bootstrap
CUSTOM_ZSHRC=$BOOTSTRAP_DIR/custom.zsh
CUSTOM_ENV=$BOOTSTRAP_DIR/env.sh
if [[ -z $(groups | grep sudo) ]]; then
echo "you need to run this script as yourself, but you need to be in the sudo group..." echo "you need to run this script as yourself, but you need to be in the sudo group..."
exit 1 exit 1
else
echo "all good! let's setup your system"
fi fi
echo "setting up $ME" function install_apt_dependencies () {
HOME=$LOCALHOME$ME sudo apt-get update > /dev/null && echo "cache updated"
sudo apt update && sudo apt install -y zsh git tig tmux vim-nox htop for pgm in $DEPENDENCIES_APT; do
cd $HOME sudo apt-get install -y $pgm > /dev/null && echo "$pgm installed"
git clone git://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh done
cp $HOME/.oh-my-zsh/templates/zshrc.zsh-template $HOME/.zshrc echo "--- ${FUNCNAME[0]} done"
sudo chsh -s /bin/zsh $ME }
mkdir $HOME/sources
git clone https://gitea.86thumbs.net/waldek/vimrc.git $HOME/sources/vimrc function setup_sources_dir () {
cd $HOME local dst=$SOURCES_DIR
ln -s $HOME/sources/vimrc/main.vimrc $HOME/.vimrc if ! [[ -d $dst ]]; then
git clone https://github.com/VundleVim/Vundle.vim.git $HOME/.vim/bundle/Vundle.vim mkdir -p $dst && echo "created $dst directory"
vim +VundleInstall +qall else
echo "$dst exists already"
fi
echo "--- ${FUNCNAME[0]} done"
}
function setup_global_git_config () {
content=$(cat << EOF
\n
[user]\n
\tname = $NAME\n
\temail = $EMAIL\n
[filter "lfs"]\n
\tclean = git-lfs clean -- %f\n
\tsmudge = git-lfs smudge -- %f\n
\tprocess = git-lfs filter-process\n
\trequired = true\n
[pull]\n
\trebase = false\n
EOF
)
echo -e $content > ~/.gitconfig
echo "--- ${FUNCNAME[0]} done"
}
function clone_bootstrap_to_sources_dir () {
local dst=~/sources/bootstrap
if ! [[ -d $dst ]]; then
git clone ssh://gitea@86thumbs.net:3022/waldek/bootstrap.git $dst && echo "cloned bootstrap dir"
fi
echo "--- ${FUNCNAME[0]} done"
}
function install_oh_my_zsh () {
local dst=~/.oh-my-zsh
if ! [[ -d $dst ]]; then
git clone git://github.com/robbyrussell/oh-my-zsh.git $dst
cp $dst/templates/zshrc.zsh-template ~/.zshrc
else
cd $dst
git pull
fi
echo "--- ${FUNCNAME[0]} done"
}
function customize_oh_my_zsh () {
if [[ -z $(grep $CUSTOM_ZSHRC ~/.zshrc) ]]; then
echo "source $CUSTOM_ZSHRC" >> ~/.zshrc && echo "appended $CUSTOM_ZSHRC to zshrc"
fi
if [[ -z $(grep $CUSTOM_ENV ~/.zshrc) ]]; then
echo "source $CUSTOM_ENV" >> ~/.zshrc && echo "appended $CUSTOM_ENV to zshrc"
fi
echo "--- ${FUNCNAME[0]} done"
}
#install_apt_dependencies
setup_sources_dir
setup_global_git_config
clone_bootstrap_to_sources_dir
install_oh_my_zsh
customize_oh_my_zsh
#echo "setting up $ME"
#HOME=$LOCALHOME$ME
#sudo apt update && sudo apt install -y zsh git tig tmux vim-nox htop
#cd $HOME
#git clone git://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
#cp $HOME/.oh-my-zsh/templates/zshrc.zsh-template $HOME/.zshrc
#sudo chsh -s /bin/zsh $ME
#mkdir $HOME/sources
#git clone https://gitea.86thumbs.net/waldek/vimrc.git $HOME/sources/vimrc
#cd $HOME
#ln -s $HOME/sources/vimrc/main.vimrc $HOME/.vimrc
#git clone https://github.com/VundleVim/Vundle.vim.git $HOME/.vim/bundle/Vundle.vim
#vim +VundleInstall +qall

16
custom.zsh Normal file
View File

@ -0,0 +1,16 @@
# START customization via bootstrap script
COMPLETION_WAITING_DOTS="true"
plugins=(git autoswitch_virtualenv tty-solarized)
#zstyle :omz:plugins:tty-solarized theme-shade "light"
zstyle :omz:plugins:tty-solarized theme-shade "dark"
alias meteo="wget -q -O - wttr.in"
source ~/.environment_vars.sh
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
# makes shift tab work in tty
bindkey '\E\t' reverse-menu-complete
export PATH=$PATH:/usr/local/go/bin
# END customization via bootstrap script

14
env.sh Normal file
View File

@ -0,0 +1,14 @@
# general variables
export FPATH=$FPATH:/usr/share/zsh
export PATH=$PATH:~/.local/bin:~/bin/python/
export EDITOR=vim
# python virtualenv varibles
export AUTOSWITCH_DEFAULTENV="baseline"
export AUTOSWITCH_SILENT=1
# wayland variables
export MOZ_ENABLE_WAYLAND=1
export QT_QPA_PLATFORM=wayland
export XDG_SESSION_TYPE=wayland
export GDK_BACKEND=wayland