This is a starter-kit for dotfiles organization at Bloomberg. It is intentionally kept small and minimal. The idea is to get the basic framework in place with the minimum amount of code, so that you can read and understand every line.
These are your personal tools. You should fork them and modify them to suit your tastes.
For more details about included features and how to use them, see the notes from my presentation. Feel free to submit PRs if anything is missing, or ask me questions.
git clone bbgithub:new-hire-training-initiatives/training-dev-config ~/dotfiles
cd ~/dotfiles
./install
By default, dotbot will not overwrite files that already exist. If you see failures, move those
files to .sav
versions and re-run. Once everything has been setup,
you can permanently remove the bootstrap.sh
script.
- Symlink management with dotbot
- Basic bbprofile and bashrc
- vim
- clang-format bindings and BDE style file
- git_template with hooks to automatically regenerate ctags asynchronously on clone, merge, rebase, commit operations.
- tmux with vim-like movement bindings
This plugin is extremely powerful, but it noticeably slows down vim startup time and takes a little bit of work to configure, so I've left it off by default.
If you're interested in using it, uncomment it from vim/startup/plugins.vim
and run:
$ cd bin && LOCUM_ARCH=linux locum bb_youcompleteme_install.sh
I'd advise staying away from the semantic LLVM + clang auto-completion engine to start. Unless you have a very clean, Linux-only, no-bbenv application, it will either not work at all or it will use >15 GB of RAM to run, which is far more than the sysadmins will let you get away with on a GNRL machine.
As mentioned previously, this is repo kept small to avoid making it unapproachable and intimidating.
Once you feel comfortable with the tools provided, here are some ideas for further improvement:
- You can and should put lots of aliases in your
.gitconfig
- Tmux can be enhanced with its own plugins via tpm
- Cmdline interaction with bbgithub is available with hub
- Zsh is available as a bash replacement. Take a look at zgen
- If you use Linux at home, you probably want to share these dotfiles with your home PC. For this purpose you can break the dotfiles repo into a dotfiles on github.com, and a dotfiles_local on bbgithub.
- Always be on the lookout to steal things from other people's dotfiles. For starters, you can look at:
- My generic dotfiles
- My Bloomberg dotfiles_local
- My coworker Mario's dotfiles
- And his dotfiles_local with Bloomberg customizations
- Many people put their dotfiles on github
- It's up to you, but I'd caution against pulling too many huge, heavyweight frameworks at once!
- Your tools should be an ongoing continuous improvement process, and it's easiest to do that if you understand them!
- The Pragmatic Programmer and Practical Vim have lots of great advice.
- vimcasts.org has many short videos with great tips.