|
|
|
|
@ -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 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|