83 lines
2.1 KiB
Markdown
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
|
|
```
|