dots/README.md

2.4 KiB

dots

My dot files and a tool to deploy them to various OS's

The Plan

  • files in link/ get symlinked to ~/.{filename}
  • files in copy/ get copied to ~/.{filename}
    • this process should default to not clobbering existing files
  • bin/dots.rb is what users will interact with
    • it should bootstrap based on the OS it is being run on
    • it should run Puppet and associated tools such as r10k via bundler
    • it should not utilize Git submodules; it should instead use vcsrepo
      • the destination of each repo may well need to be added to the parent's .gitignore
    • it should configure iTerm2 on Mac
    • it should configure Atom on all platforms
    • it should offer a choice to skip steps related to GUI programs
    • it should permit host-specific settings / options
      • this will likely be done via entries in a hiera node file
  • create a Docker image with all tools preinstaleld and set to mount the current user's home directory as a volume.
    • use gosu so ownership is correct.
      • this may not work on Windows...

Notes thus far

  1. Install Homebrew
  2. Install ruby >= 2.0 (testing with 2.4.1)
  3. Install bundler
  4. Install cmake and pkg-config
git clone git@github.com:genebean/dots.git ~/.dotfiles
cd ~/.dotfiles
bundle install
bundle exec r10k puppetfile install --moduledir vendor/puppet_modules --puppetfile puppet/Puppetfile -v

Installed Homebrew packages

To see what has been installed (not the deps) run brew leaves

Packages to install on Mac's

Vundle & Vim

Install via Puppet:

  1. link vimrc
  2. vcsrepo: https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  3. exec vim +PluginInstall +qall

Powerline

brew install coreutils python socat tmux
pip install psutil powerline-status
git clone https://github.com/powerline/fonts.git ~/repos/powerline-fonts
cd ~/repos/powerline-fonts
./install.sh
Thoughts on installing with Puppet:
  • install packages using a provider for homebrew
  • install packages using the pip provider
  • use vcsrepo to clone the fonts
  • create a refresh-only exec that runs the install script
  • add a notify to the vcsrepo resource that triggers the exec
    • this will also take care of bringing in new fonts or updates