A set of configuration files and scripts for setting up a 1000Bulbs development environment on macOS.
Before installing these configuration files, set up your laptop using the laptop script.
Install the dotfiles in your home directory.
git clone https://github.com/1000bulbs/dotfiles ~/dotfilesenv RCRC="$HOME/dotfiles/rcrc" rcupOnce you run the command above, you can run rcup without the RCRC env
variable being set.
To update your dotfiles:
cd ~/dotfiles
git pull origin master
rcupAdd your own customizations
mkdir ~/dotfiles-localPut your customizations in the ~/dotfiles-local directory with a .local
extension
~/dotfiles-local/aliases.local/*.aliases~/dotfiles-local/config/git/git_template.local/*~/dotfiles-local/config/git/config.local~/dotfiles-local/hooks/post-up.local~/dotfiles-local/zshrc.local
These files will be automatically sourced during setup.
Want to use Oh My Zsh? See docs/oh-my-zsh.md for instructions on how to safely install Oh My Zsh without overwriting your existing dotfiles-managed .zshrc file.
This dotfiles repo sets up and configures:
- zsh configuration via zshrc
- zsh pre and post startup configs:
- color, keybindings, options, history, path, and more
- zsh completions (_rg)
- Prompt optimizations and history settings
- hushlogin to silence login messages
- Local function autocompilation support
- Custom git config, gitignore, and gitmessage
- Git hooks and templates (commit-msg, pre-commit, etc.)
- Supports overrides via config.local and git_template.local
- RubyGems configuration via .gemrc
- RSpec default settings via .rspec
- ASDF version manager settings via .asdfrc
Located in the bin/ directory, these include:
- git-change-branch: change branches more efficiently
- kill-port: kill processes bound to a port
- whats-on-port: check which process is using a port
- Integration via homebrew.zsh to ensure packages and taps are ready
- Designed to work with rcm for dotfile management
- Modular structure allows safe extension and version control of environment config
Key directories:
- zsh/ – Zsh-related configuration
- config/git/ – Git templates and config
- bin/ – Useful command-line scripts
- ssh/config – SSH client settings