1
0
Files
dotfiles/README.md

83 lines
2.1 KiB
Markdown

# 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
bash <(curl -sL https://ryans.tools/dotfiles)
```
**From local copy (USB drive, etc.):**
```bash
./bootstrap.sh
```
The installer will:
1. **Bootstrap:** Clone repository (or use local copy), select branch if desired
2. **Setup:** Check dependencies, backup conflicts, install packages, configure with GNU Stow
## Updates
**Regular updates (recommended):**
```bash
dotpull
```
**Branch switching or major re-setup:**
```bash
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:
```bash
dotpull
```
This alias will pull the latest changes and re-stow all configurations.
## Manual Management
To manage individual configurations:
```bash
cd ~/.dotfiles/stow
stow -t ~ bash # Link bash config
stow -t ~ git # Link git config
stow -D bash # Unlink bash config
```