This repository contains my personal dotfiles, managed with YADM. It includes shell customizations, aliases, and environment settings tailored for:
- Daily development on macOS
- High-performance computing on an SLURM HPC
- Reproducible configuration with Git
Each component has a single responsibility, which makes debugging easier and encourages clean organization:
| File | Purpose |
|---|---|
.bashrc |
Main entry point for interactive shells. Sources other components and handles machine-specific logic. |
.bash_profile |
Loaded for login shells; primarily used on macOS. Delegates to .bashrc to ensure consistent behavior. |
.bash_prompt |
Defines the command prompt, including color-coded Git status, time, and path. |
.bash_aliases |
Contains all command aliases. Divided by theme (navigation, git, SLURM, Anvi’o, etc.). |
.bash_functions |
Miscellaneous custom Bash functions to improve productivity. |
.bash_welcome |
Nice welcome message. |
How to install on new system:
The git clone strategy is the most reliable
git clone https://github.com/TheLocehiliosan/yadm.git ~/.yadm-project
ln -s ~/.yadm-project/yadm ~/bin/yadmyadm clone https://github.com/mschecht/dotfiles.git -f
# double check
yadm status- Use
ysto check dotfile status - Use
yuto commit and push tracked changes (add -u, timestamp commit) - Keep all config edits in modular files (.bash_aliases, .bash_utils, etc.)
reload_rcto refresh shell config without restarting your terminal
Thanks to:
- @ekiefl and @FlorianTrigodet for inspiration and snippets
- yadm.io for making dotfile management sane