mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 01:17:42 -04:00
My dot files and a tooling to deploy them to various OS's
| .bundle | ||
| bin | ||
| copy | ||
| link | ||
| puppet/production | ||
| .gitignore | ||
| .puppet-lint.rc | ||
| .rspec | ||
| .rubocop.yml | ||
| .ruby-version | ||
| .travis.yml | ||
| Gemfile | ||
| Gemfile.lock | ||
| LICENSE | ||
| r10k.yaml | ||
| Rakefile | ||
| README.md | ||
| Vagrantfile | ||
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
- the destination of each repo may well need to be added to the parent's
- 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...
- use gosu so ownership is correct.
Notes thus far
- Install Homebrew
- Install ruby >= 2.0 (testing with 2.4.1)
- Install bundler
- Install cmake and pkg-config
git clone git@github.com:genebean/dots.git ~/.dotfiles
cd ~/.dotfiles
bundle install
bundle exec r10k puppetfile install --puppetfile ~/.dotfiles/production/puppet/Puppetfile -v
Running Puppet
bundle exec puppet apply --environmentpath ~/.dotfiles/puppet ~/.dotfiles/puppet/production/manifests/site.pp
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:
- link
vimrc - vcsrepo: https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 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