106 lines
2.9 KiB
Bash
Executable file
106 lines
2.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
if [ -z "$HOME" ]; then echo "Seems you're \$HOMEless :("; exit 1; fi
|
|
|
|
DOTCONFIG=$HOME/.config
|
|
DOTFILES=$HOME/.dotfiles
|
|
DOTFZF=$HOME/.fzf
|
|
DOTLOCAL=$HOME/.local/share/dotfiles
|
|
|
|
GITCLONE="git clone --depth=1"
|
|
|
|
cd "$HOME" || exit
|
|
rm -rf "$DOTFILES"
|
|
mkdir "$DOTFILES"
|
|
cd "$DOTFILES" || exit
|
|
|
|
git init
|
|
git remote add origin https://github.com/joshtronic/dotfiles.git
|
|
git pull origin master
|
|
|
|
# Swap origin so I can make edits easily
|
|
git remote rm origin
|
|
git remote add origin git@github.com:joshtronic/dotfiles.git
|
|
|
|
rm -rf \
|
|
"$DOTCONFIG/gtk-3.0/gtk.css" \
|
|
"$DOTCONFIG/nvim/init.vim" \
|
|
"$DOTFZF" \
|
|
"$DOTLOCAL" \
|
|
"$HOME/.bashrc" \
|
|
"$HOME/.gitconfig" \
|
|
"$HOME/.local/share/gnome-shell/extensions/custom@gnome-shell-extensions.joshtronic.com" \
|
|
"$HOME/.screenrc" \
|
|
"$HOME/.themes/custom/gnome-shell/gnome-shell.css" \
|
|
"$HOME/.vim" \
|
|
"$HOME/.vimrc" \
|
|
"$HOME/.zshrc"
|
|
|
|
mkdir -p \
|
|
"$DOTCONFIG/"{gtk-3.0,nvim} \
|
|
"$DOTLOCAL" \
|
|
"$HOME/.local/share/gnome-shell/extensions" \
|
|
"$HOME/.local/share/vim/"{swap,undo} \
|
|
"$HOME/.themes/custom/gnome-shell" \
|
|
"$HOME/.vim/colors" \
|
|
"$HOME/.vim/pack/plugins/start"
|
|
|
|
ln -s "$DOTFILES/bashrc" "$HOME/.bashrc"
|
|
ln -s "$DOTFILES/gitconfig" "$HOME/.gitconfig"
|
|
ln -s "$DOTFILES/gnome/extension" "$HOME/.local/share/gnome-shell/extensions/custom@gnome-shell-extensions.joshtronic.com"
|
|
ln -s "$DOTFILES/gnome/gnome-shell.css" "$HOME/.themes/custom/gnome-shell/gnome-shell.css"
|
|
ln -s "$DOTFILES/gnome/gtk.css" "$HOME/.config/gtk-3.0/gtk.css"
|
|
ln -s "$DOTFILES/init.vim" "$DOTCONFIG/nvim/init.vim"
|
|
ln -s "$DOTFILES/screenrc" "$HOME/.screenrc"
|
|
ln -s "$DOTFILES/vimrc" "$HOME/.vimrc"
|
|
ln -s "$DOTFILES/zshrc" "$HOME/.zshrc"
|
|
|
|
$GITCLONE https://github.com/junegunn/fzf.git "$DOTFZF"
|
|
"$DOTFZF/install" --key-bindings --completion --no-update-rc
|
|
|
|
ZSHPLUGS=(
|
|
"zsh-completions"
|
|
"zsh-history-substring-search"
|
|
"zsh-syntax-highlighting"
|
|
)
|
|
|
|
for INDEX in ${!ZSHPLUGS[*]}; do
|
|
ZSHPLUG="${ZSHPLUGS[$INDEX]}"
|
|
$GITCLONE "https://github.com/zsh-users/$ZSHPLUG.git" "$DOTLOCAL/$ZSHPLUG"
|
|
done
|
|
|
|
VIMPLUGS=(
|
|
"w0rp/ale"
|
|
"junegunn/fzf.vim"
|
|
"neoclide/coc.nvim"
|
|
|
|
"editorconfig/editorconfig-vim"
|
|
"sheerun/vim-polyglot"
|
|
"jelera/vim-javascript-syntax"
|
|
"Quramy/vim-js-pretty-template"
|
|
"StanAngeloff/php.vim"
|
|
|
|
# TypeScript
|
|
"leafgarland/typescript-vim"
|
|
"Quramy/tsuquyomi"
|
|
)
|
|
|
|
for INDEX in ${!VIMPLUGS[*]}; do
|
|
VIMPLUG="${VIMPLUGS[$INDEX]}"
|
|
PLUGDIR=$(echo "$VIMPLUG" | cut -d '/' -f2)
|
|
|
|
$GITCLONE "https://github.com/$VIMPLUG.git" "$HOME/.vim/pack/plugins/start/$PLUGDIR"
|
|
done
|
|
|
|
curl -o "$HOME/.vim/colors/solarized.vim" https://raw.githubusercontent.com/altercation/vim-colors-solarized/master/colors/solarized.vim
|
|
|
|
cd "$HOME" || exit
|
|
rm -f "${HOME}/.zcompdump*"
|
|
|
|
# Required to kill the terminal's border in GNOME 3.32+
|
|
gsettings set org.gnome.Terminal.Legacy.Settings headerbar "@mb false"
|
|
echo
|
|
echo "If this is your first time, you should restart GNOME"
|
|
|
|
echo
|
|
echo "ENJOY! :)"
|