Welcome to my humble abode.
-
Clone this repository to your home directory:
git clone <repo-url> ~/dotfiles
-
Set up your
.bashrcto use the dotfiles:cp ~/dotfiles/.bashrc_template ~/.bashrc
Or manually add this line to your existing
~/.bashrc:source ~/dotfiles/load_config.sh
-
Reload your shell configuration:
source ~/.bashrc
The load_config.sh script automatically:
- Detects your operating system (Linux, macOS, etc.)
- Loads all configs from
.shell_config/agnostic/(OS-independent) - Loads OS-specific configs from
.shell_config/{os}/(e.g.,.shell_config/linux/or.shell_config/mac/)
- OS-agnostic configs: Add files to
.shell_config/agnostic/ - OS-specific configs: Add files to
.shell_config/linux/or.shell_config/mac/
All files in these directories will be automatically sourced when your shell starts.
dotfiles/
├── .shell_config/
│ ├── agnostic/ # Configs that work on all OSes
│ │ ├── git
│ │ ├── languages
│ │ ├── misc
│ │ └── navigation
│ ├── linux/ # Linux-specific configs
│ │ └── misc
│ └── mac/ # macOS-specific configs
│ └── misc
├── load_config.sh # Main script that loads configs based on OS
├── .bashrc_template # Template for ~/.bashrc
└── README.md
