73a38cfa55a008556c753ce9f05815e6acee9d76
Ryan's Dotfiles
A comprehensive dotfiles repository for SSH, remote environments, and development setups.
Structure
~/.dotfiles/
├── stow/ # Configs organized for GNU Stow
│ ├── bash/ # Bash configuration (.bashrc, .bash_aliases, .inputrc)
│ ├── git/ # Git configuration (.gitconfig)
│ └── [other configs] # Additional configurations as needed
├── packages/
│ ├── base.txt # MUST HAVE - Core system utilities
│ ├── cli-tools.txt # Nice-to-haves - Enhanced CLI tools
│ ├── dev.txt # Development tools (docker, node, etc)
│ └── gui.txt # Desktop applications
├── bootstrap.sh # Get repo and select branch
├── setup.sh # Main orchestrator - runs all configuration
└── README.md # Documentation
Install
From internet:
bash <(curl -sL https://ryans.tools/dotfiles)
From local copy (USB drive, etc.):
./bootstrap.sh
The installer will:
- Bootstrap: Clone repository (or use local copy), select branch if desired
- Setup: Check dependencies, backup conflicts, install packages, configure with GNU Stow
Updates
Regular updates (recommended):
dotpull
Branch switching or major re-setup:
cd ~/.dotfiles && ./bootstrap.sh
Package Categories
- Base: Essential system utilities (curl, git, stow, vim, etc.)
- CLI Tools: Enhanced command-line tools (bat, fzf, ripgrep, etc.)
- Development: Programming languages and dev tools (nodejs, python, docker, etc.)
- GUI: Desktop applications (firefox, code, vlc, etc.)
Updating
After initial installation, use the dotpull alias to update your dotfiles:
dotpull
This alias will pull the latest changes and re-stow all configurations.
Manual Management
To manage individual configurations:
cd ~/.dotfiles/stow
stow -t ~ bash # Link bash config
stow -t ~ git # Link git config
stow -D bash # Unlink bash config
Languages
Shell
100%