diff --git a/bootstrap.sh b/bootstrap.sh index 33af070..5cd2df9 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1,9 +1,11 @@ #!/usr/bin/env bash +set -x + check_installed() { - packages=("$@") + _pkgs=("$@") all_installed=true - for pkg in "${packages[@]}"; do + for pkg in "${_pkgs[@]}"; do if ! command -v "$pkg" > /dev/null 2>&1; then all_installed=false break @@ -12,27 +14,25 @@ check_installed() { $all_installed && return 0 || return 1 } - - install_packages() { # List of packages to install - packages="zsh git" + packages=(zsh git) - if [ ! check_installed zsh tmux git ]; then + if ! check_installed "${packages[@]}"; then # Determine which package manager is available if check_installed apt; then echo "Using apt to install packages..." sudo apt update - sudo apt install -y $packages + sudo apt install -y "${packages[@]}" elif check_installed dnf; then echo "Using dnf to install packages..." - sudo dnf install -y $packages + sudo dnf install -y "${packages[@]}" elif check_installed yum; then echo "Using yum to install packages..." - sudo yum install -y $packages + sudo yum install -y "${packages[@]}" elif check_installed brew; then echo "Using Homebrew to install packages..." - brew install $packages + brew install "${packages[@]}" else echo "No supported package manager found (apt, dnf, yum, brew)." return 1 @@ -43,12 +43,24 @@ install_packages() { clone_repos () { git clone --bare https://git.meinlschmidt.org/jetpac/dotfiles.git ~/.cfg cd ~/.cfg + # alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME' git config --local status.showUntrackedFiles no - git checkout + cd $HOME + rm .zshrc + git checkout --git-dir=$HOME/.cfg --work-tree=$HOME + - sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --unattended --skip-chsh --keep-zshrc" + # install oh-my-zsh + curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh > /tmp/install_ohmyzsh.sh + bash /tmp/install_ohmyzsh.sh --unattended --skip-chsh --keep-zshrc + + # powerlevel10k git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k + + # tmux tpm plugin manager git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm + + # plug for installing vim plugins curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim }