The .vimrc
in this repo includes its own bootstrap, and the first time you launch vim, nvim, or vimR, it will install Vundle and all plugins that are listed in .vimrc
. This is handy for getting your painstakingly-crafted Vim config up and running on a brand new system, with no messy mucking about. One requirement though is that you at least have vim
installed -- most vanilla vi
binaries can't handle the bootstrapping script in the .vimrc
. I'm sure this could be adapted for other vim plugin managers, but I haven't tried.
For macOS (Darwin-style linux) installs, iTerm2 preference files will be installed, so that the iTerm config from the dotfiles repo will look just like it should once bootstrapping is done. No need to launch iTerm, mess with prefs, and relaunch. For iTerm2
, linking the binary prefs file means that on first launch, you won't need to tell iTerm
to look in the dotfiles repo for it's pref and profile info. This is very handy if you're using nerd-fonts and/or gruvbox and have your terminal set up just so.
I give Alfred a sync folder location (like Box or Dropbox) so that all my macs have access to the same workflows and preferences. Including Alfred
's prefs in this repo means that it will know where to look as soon as bootstrapping (and syncing) is complete.
Note: If you adopt this method, be sure to put your sync folders in the same place each time so that the related prefs files are looking in the right place.
The bootstrap script knows about Darwin
and Linux
platforms, and will tailor the bootstrapping process depending on your host OS. Regardless of whether you install on Linux or macOS, the resulting homedir will be very similar in setup, so that if you hop back and forth between platforms during the day, most of your shell experience will be the same for you.
Note: There's a lot of app pre-installation that happens on the macOS side, but less for Linux. That's more of a personal preference for my daily work, and I'm confident in your ability to customize that to suit your tastes.
The prompt theming tries to be as smart as possible. While truecolor terminals are ideal, less-capable terminals are also heartily welcomed. If your term supports less than 256 colors, the powerlevel9k theme will be turned off in favor of a simpler custom oh-my-zsh
theme. If your term is really poor and has less than 16 colors, the prompt theme will fall even further back to a very plain prompt (but you'll still get some decent functionality out of it). There hasn't been a ton of work put into this last resort as such, it's mostly geared towards simplicity and not accidentally wandering into the realms of blinky text on account of unrenderable colors being requested.
Warning: If you want to give this repo a try, realize that many of the dotfiles are fairly customized to my own preferences (as is anyone's dotfiles repo), especially .vimrc
, .zshrc
, and my choice of oh-my-zsh plugins (in the bootstrap script). However, if you'd like to go bravely soldier on and give it a whirl, please do so.
The fastest way to get started is to use curl
or wget
to pull the bootstrap script from github, make the file executeable, and run it. I recommend downloading it first and examining its contents (unless you've already pored over the repo on github) before blindly sallying forth.
curl -fsSL https://raw.githubusercontent.com/plongitudes/dotfiles/master/bootstrap.sh > bootstrap.sh
vi bootstrap.sh
./bootstrap.sh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/plongitudes/dotfiles/master/bootstrap.sh)"
- Brew cask: The
brew cask
installation process will prompt you for superuser access once. - Oh My Zsh: The oh-my-zsh installation step currently drops you into a
zsh
shell after it's done but before the bootstrap is complete. The boostrap will warn you about this before it happens, but be aware that all you have to do is typeexit
to continue bootstrapping. There's an open issue on the OMZ repo about this, and I'll integrate the change as soon as it's resolved. - Oh My Zsh: The
oh-my-zsh
install will prompt you for your password so that it can change your shell from whatever it currently is tozsh
.
- Ruby and curl: The bootstrapper will check for
ruby
andcurl
as pre-requisites to installing Homebrew as the package manager. If it can't find ruby or curl, it will bail out and not proceed any further. If successful, it will then go on to usebrew
andbrew cask
for all subsequent installations. - Brew cask: Install might take a bit longer, depending on how many applications you decide to
brew cask install
. The default set is pretty hefty, so be aware. - iTerm: If you're planning on carrying your iTerm2 settings around, I would recommend changing the
Load preferences from a custom folder or URL
path to~/.dotfiles/iterm2
instead of an absolute path, if you care about your username or path being stored in github.
- Terminal emulation: Because of the reliance on the
powerlevel9k
andvim-airline
plugin's requirements, the default terminal will look pretty wonky until you installnerd-fonts
. However, cloning the nerd fonts repo is disabled by default because it's almost 1.5GB in size. Once installed and properly set up, things look much better. I haven't made this very smart yet since I don't spend much time in Linux desktop environments. If that changes, expect this section to improve ;)
- Andre Klärner for his super-clever gist about bootstrapping vimrc and vundle
- The Homebrew group for putting together and maintaining such an awesome package manager
- The Homebrew Cask folks for making my life so much easier
- All the dotfiles repos that I trawled through