hazardous

thoughts, things, etc. from andrew snow

bootstrap II: git clone boogaloo

if i can be honest, my last post on my bootstrapper was, more than anything, basically filler content as i was still in the early stages of throwing the website together. i'll have to go update it to warn folks to stay away from it, as it's pretty gross.

overview

main setup

pretty simple - grab the git repo, navigate to the env directory, and run the init script.

as with any sort of bootstrapping script, you'll definitely want to look at the code and adjust as necessary - i've done alot to make it as robust, universal, and modular as possible so this will be far easier than trying to wrassle with the code posted in my first bootstrap article.

a nice, new feature is that the script will run the main install by looking at two text files located in the same directory as the init script: pkg_list.txt and lib_list.txt - for, you guessed it, the main package and libraries which will be installed. this means that you can simply open these files and add or remove dependencies as needed, one per line.

vimstrap

i have also started working on a vim bootstrapper, to quickly setup your vim - as well as neovim, if needed! the coolest part about the neovim setup is, if i may say so, pretty clever: it simply inserts a new init.vim file which tells neovim to source the same vimrc used by vim itself. this means you only have to edit one file, and the changes will reflect across either program:

set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vim/vimrc

don't worry though, there is a section in the vimrc which you can use to add neovim-specific startup settings - which will be ignored if running vim.

the end result of the vim config will leave it looking alot like SpaceVim. however, it is alot lighter all around, stripped down and most importantly, it is organized in a more traditional way: all config is stored in the user's home directory in a folder called vim, and uses the standard vimrc file saved there.

in my opinion it's a good stepping stone into the world of highly personalized vim setups. i started out using linux and almost immediately came across SpaceVim, and when it came time to learn the ins and outs of building my own vim, i was at a disadvantage because there's alot of complexity in the prepackaged install. by using this setup, you still enjoy alot of the better parts of SpaceVim - since it's more or less a very well-maintained collection of various plugins, there's not much i couldn't simply replicate by finding which plugin did what and added what I needed.

unfortunately my main goal for my config is to set it up as an ideal markdown editor - and i just find the current vim markdown plugins to be very lacking when compared to how awesome the syntax highlighting is for VSCode. creating my own fork of vim-markdown might be my next project...

installation

Grab the repo: git clone https://github.com/jeromescuggs/bootstrap

To run the bootstrapper:

cd bootstrap/env
./init

Setup vim:

cd bootstrap
./vim-setup.sh

Link neovim: (if an init.vim file already exists in $HOME/.config/nvim, it will be copied into a backup file in that directory)

cd bootstrap
./vim-setup.sh nvim