dotfiles/install.sh

119 lines
2.6 KiB
Bash
Raw Normal View History

2021-03-20 22:36:25 +00:00
#/bin/bash
REPO_DIR=$(dirname $(readlink -f $0))
HOME_DIR=${HOME}
echo "REPO_DIR=${REPO_DIR}"
echo "HOME_DIR=${HOME_DIR}"
workspace_backup() {
mv $HOME_DIR/$1 $HOME_DIR/$1-old 2>/dev/null || true
}
workspace_link() {
mkdir -p $(dirname $HOME_DIR/$2)
2021-03-20 22:36:25 +00:00
ln -s $REPO_DIR/$1 $HOME_DIR/$2 || true
}
if cat /etc/lsb-release | grep Manjaro > /dev/null
then
2023-02-28 09:07:27 +00:00
echo "== manjaro packages"
sudo pacman -Syu
sudo pacman -S \
git \
bat \
difftastic \
2022-05-10 20:43:34 +00:00
neovim \
zsh \
tmux \
2022-05-10 20:43:34 +00:00
nodejs \
ripgrep \
2023-04-29 17:53:37 +00:00
typos-bin \
python-libtmux
2023-02-28 09:07:27 +00:00
elif cat /etc/os-release | grep "Ubuntu" > /dev/null
then
echo "== ubuntu packages"
sudo apt update
sudo apt install -y \
git \
bat \
neovim \
zsh \
tmux \
nodejs \
ripgrep \
snapd \
cargo
sudo snap install \
difftastic \
starship \
cargo install typos-cli
2023-06-23 12:37:52 +00:00
else
echo "Unsupported OS! Skipping execution of dotenv install.sh"
exit 0
fi
echo "== zplug"
2023-04-18 20:11:17 +00:00
curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh || true
echo "== starship"
if ! starship --help > /dev/null
then
2021-11-24 17:45:46 +00:00
sh -c "$(curl -fsSL https://starship.rs/install.sh)" -- --yes
fi
2023-02-28 09:07:27 +00:00
echo "== Switching shell to ZSH"
sudo chsh $USER --shell $(which zsh)
2023-04-18 18:20:18 +00:00
echo "== Installing fonts"
2023-04-18 20:09:46 +00:00
HOME_FONTS_DIR="${HOME_DIR}/.local/share/fonts"
2023-04-18 18:20:18 +00:00
mkdir -p ${HOME_FONTS_DIR}
2023-04-18 18:39:55 +00:00
rm -rf ${HOME_FONTS_DIR}/dotfiles-fonts
2023-04-18 18:20:18 +00:00
git clone --depth 1 git@github.com:mentos1386/dotfiles-fonts.git ${HOME_FONTS_DIR}/dotfiles-fonts
fc-cache
2021-03-20 22:36:25 +00:00
echo "== Copying configuration files..."
# GIT
workspace_backup .gitconfig
2022-05-10 20:43:34 +00:00
workspace_link git/gitconfig .gitconfig
2021-03-20 22:36:25 +00:00
# SSH
workspace_backup .ssh/authorized_keys
workspace_link ssh/authorized_keys .ssh/authorized_keys
# TMUX
workspace_backup .tmux.conf
workspace_link tmux/tmux.conf .tmux.conf
# STARSHIP
workspace_backup .starship.toml
workspace_link starship/starship.toml .starship.toml
# ZSH
workspace_backup .zshrc
workspace_link zsh/zshrc .zshrc
# BIN
workspace_backup .bin
workspace_link bin .bin
2021-11-23 19:36:10 +00:00
# KITTY
workspace_backup .config/kitty/kitty.conf
workspace_link kitty/kitty.conf .config/kitty/kitty.conf
# BAT
workspace_backup .config/bat/config
workspace_link bat/config .config/bat/config
2022-05-10 20:43:34 +00:00
# NEOVIM
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
workspace_backup .config/nvim/init.vim
workspace_link nvim/init.vim .config/nvim/init.vim
for file in nvim/lua/*
do
workspace_backup .config/nvim/lua/$(basename $file)
workspace_link nvim/lua/$(basename $file) .config/nvim/lua/$(basename $file)
done