Welcome to my meticulously managed chaos – my dotfiles repository. This is where I keep my configuration files in check, structured, and version-controlled, because why not make life a bit more organized amidst the digital disarray?
I never put real content directly in ~/.bashrc
or ~/.bash_profile
. Instead, these files are just symlinks to the real configurations kept in a subdirectory in my home folder, for example, ~/dotfiles/bashrc
and ~/dotfiles/bash_profile
.
The ~/dotfiles
directory is under version control using Git and is proudly hosted on GitHub.
When setting up a new system, I clone the repository into ~/dotfiles
and recreate the symlinks. This step is currently manual, but it's not rocket science to automate (future me, take note).
-
Symlink Creation:
~/.bashrc
and~/.bash_profile
are symlinks pointing to~/dotfiles/bashrc
and~/dotfiles/bash_profile
, respectively.- This practice is extended to other config files like
.hgrc
,.vimrc
, and the like.
-
Version Control:
- Whenever I edit one of the configuration files, I commit and push to GitHub. Then I pull the changes on every other machine.
- This ensures that all my systems are harmoniously misconfigured in exactly the same way.
-
Automation (or lack thereof):
- Currently, creating symlinks is a manual process. But let's face it, it's a trivial task that future me can automate when feeling particularly inspired.
- Consistency: Ensures all machines share the same configurations.
- Backup and Restore: Makes setting up a new machine a breeze.
- Version Tracking: Allows for tracking changes to configuration files. Plus, it's always fun to read commit messages like "Fixed that thing that broke everything."
Here’s a sneak peek into the organized chaos within ~/dotfiles
:
~/dotfiles/
├── bashrc
├── bash_profile
├── vimrc
├── hgrc
└── other_config_files