Running the command too soon threw an error due to the color scheme file not being present.
124 lines
3.4 KiB
Bash
Executable file
124 lines
3.4 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=(
|
|
# File exploration and navigation
|
|
"junegunn/fzf.vim"
|
|
|
|
# Languages and syntax
|
|
"sheerun/vim-polyglot"
|
|
|
|
# Code completion
|
|
"neoclide/coc.nvim"
|
|
|
|
# Style guide and linting
|
|
"dense-analysis/ale"
|
|
"editorconfig/editorconfig-vim"
|
|
|
|
# All the rest
|
|
"wellle/context.vim"
|
|
|
|
# Hoping vim-polyglot deprecates the need for these
|
|
# "jelera/vim-javascript-syntax"
|
|
# "Quramy/vim-js-pretty-template"
|
|
# "leafgarland/typescript-vim"
|
|
|
|
# Shouldn't need this as it's already included by vim-polyglot
|
|
# "StanAngeloff/php.vim"
|
|
|
|
# Not sure I need this as I wasn't utilizing anything from it directly. If I
|
|
# am noticing a difference without it, I'll want to revisit the plugin and
|
|
# actually learn how to use the hell out of it.
|
|
# "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
|
|
|
|
# Finishes installing CoC
|
|
vim +"call coc#util#install()" +qa
|
|
|
|
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! :)"
|