From 5eae9d1187349f71774b3a00aa8dbb74537fda80 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Thu, 25 Dec 2025 20:32:01 -0500 Subject: [PATCH] Dotfiles update 2025-12-25 20:32 --- README.md | 298 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 298 insertions(+) diff --git a/README.md b/README.md index 65300c6..063d26a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,301 @@ +# ADLee's Dotfiles + +Personal configuration for a productive development environment on **Arch Linux** and **CachyOS**. + +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![Shell](https://img.shields.io/badge/Shell-Zsh-green.svg)](https://www.zsh.org/) +[![OS](https://img.shields.io/badge/OS-Arch%20%2F%20CachyOS-blue.svg)](https://archlinux.org/) + +``` +┌[alee@battlestation]─[~/.dotfiles ⎇ main]─[⇑3] +└% +``` + +## Quick Start + +```bash +git clone https://github.com/adlee-was-taken/dotfiles.git ~/.dotfiles +cd ~/.dotfiles && ./install.sh +``` + +See [INSTALL.md](INSTALL.md) for detailed instructions. + +--- + +## Features + +| Feature | Description | +|---------|-------------| +| **Dynamic MOTD** | System info on shell start | +| **Two-Line Prompt** | Git status, command timer, update indicator | +| **Command Palette** | Fuzzy launcher (`Ctrl+Space`) | +| **Tmux Workspaces** | Simple templates + tmuxinator integration | +| **Systemd Helpers** | Quick service management | +| **Btrfs/Snapper** | Filesystem health + snapshot management | +| **Secrets Vault** | Encrypted storage (age/gpg) | +| **Password Manager** | LastPass CLI integration | +| **Python Templates** | Project scaffolding (Flask, FastAPI, CLI, etc.) | + +--- + +## Dotfiles Management + +| Command | Alias | Description | +|---------|-------|-------------| +| `dotfiles-doctor.sh` | `dfd` | Health check | +| `dotfiles-doctor.sh --fix` | `dffix` | Auto-fix issues | +| `dotfiles-sync.sh push` | `dfpush` | Push changes | +| `dotfiles-sync.sh pull` | `dfpull` | Pull changes | +| `dotfiles-update.sh` | `dfu` | Update dotfiles | +| `dotfiles-vault.sh` | `vault` | Secrets manager | +| `source ~/.zshrc` | `reload` | Reload config | + +**Quick Edit:** `v.zshrc`, `v.conf`, `v.alias`, `v.motd` + +--- + +## Systemd Helpers + +| Command | Description | +|---------|-------------| +| `sc ` | `sudo systemctl ` | +| `scr ` | Restart + show status | +| `sce ` | Enable + start | +| `scd ` | Disable + stop | +| `sclog ` | Follow journal logs | +| `sc-failed` | Show failed services | +| `sc-boot` | Boot time analysis | +| `scf` | Interactive manager (fzf) | + +**Aliases:** `scs` (status), `scstart`, `scstop`, `screload`, `jctl`, `jctlf` + +--- + +## Btrfs & Snapper + +### Btrfs Commands + +| Command | Alias | Description | +|---------|-------|-------------| +| `btrfs-usage` | `btru` | Filesystem usage | +| `btrfs-health` | `btrh` | Quick health check | +| `btrfs-scrub` | - | Start integrity check | +| `btrfs-balance` | - | Balance operation | +| `btrfs-compress` | `btrc` | Compression stats | + +### Snapper Snapshots + +| Command | Alias | Description | +|---------|-------|-------------| +| `snap-create "desc"` | `snap` | Create snapshot | +| `snap-list` | `snapls` | List snapshots | +| `snap-check` | `snapcheck` | Verify limine sync | +| `sys-update` | - | Update with pre/post snapshot | + +--- + +## Tmux Workspaces + +Manage tmux sessions with simple templates or full tmuxinator projects. + +### Quick Commands + +| Command | Alias | Description | +|---------|-------|-------------| +| `tw [template]` | - | Create/attach workspace | +| `tw-list` | `twl` | List active workspaces | +| `tw-templates` | `twt` | Show available templates | +| `tw-save ` | `tws` | Save current layout | +| `twf` | - | Fuzzy search workspaces | + +### Built-in Templates + +| Template | Description | +|----------|-------------| +| `dev` | Editor (50%) + terminal + logs | +| `ops` | 4-pane monitoring grid | +| `ssh-multi` | 4 panes for multi-server | +| `debug` | Main (70%) + helper (30%) | +| `review` | Side-by-side comparison | + +### Tmuxinator Integration + +For complex projects with per-pane commands and startup scripts: + +```bash +# Install +sudo pacman -S tmuxinator + +# Create project from template +txi-new myproject dev + +# Edit configuration +txi-edit myproject + +# Start project +txi myproject +``` + +| Command | Alias | Description | +|---------|-------|-------------| +| `txi ` | - | Start/attach project | +| `txi-new [tmpl]` | `txin` | Create project | +| `txi-edit ` | `txie` | Edit YAML config | +| `txi-list` | `txil` | List projects | +| `txif` | - | Fuzzy search projects | + +**Templates:** `dev`, `ops`, `web`, `data`, `minimal` + +The `tw` command auto-detects: running session → tmuxinator project → simple template. + +--- + +## Command Palette + +Press **`Ctrl+Space`** for the fuzzy command launcher. + +Searches aliases, functions, history, git commands, bookmarks, and quick actions. + +### Directory Bookmarks + +| Command | Alias | Description | +|---------|-------|-------------| +| `bookmark [path]` | `bm` | Save bookmark | +| `bookmark list` | `bm list` | List bookmarks | +| `jump ` | `j` | Go to bookmark | + +--- + +## Secrets Vault + +Encrypted storage for API keys using `age` or `gpg`. + +| Command | Description | +|---------|-------------| +| `vault init` | Initialize | +| `vault set ` | Store secret | +| `vault get ` | Retrieve secret | +| `vault list` | List keys | +| `vault shell` | Export to environment | + +--- + +## Password Manager (LastPass) + +| Command | Description | +|---------|-------------| +| `pw ` | Search and copy password | +| `pw show ` | Show entry details | +| `pw list` | List all entries | +| `pw gen [len]` | Generate password | +| `pwf` | Fuzzy search (fzf) | + +--- + +## Python Templates + +| Command | Alias | Description | +|---------|-------|-------------| +| `py-new ` | `pynew` | Basic project | +| `py-flask ` | `pyflask` | Flask web app | +| `py-fastapi ` | `pyfast` | FastAPI REST API | +| `py-cli ` | `pycli` | CLI with Click | +| `py-data ` | `pydata` | Data science | +| `venv` | - | Activate virtualenv | + +--- + +## SSH Manager + +| Command | Alias | Description | +|---------|-------|-------------| +| `ssh-save ` | `sshs` | Save profile | +| `ssh-connect ` | `sshc` | Connect (auto tmux) | +| `ssh-list` | `sshl` | List profiles | +| `sshf` | - | Fuzzy search | + +--- + +## Common Aliases + +### Navigation +`..`, `...`, `....`, `~`, `c.` (dotfiles dir) + +### Git +`g`, `gs` (status), `ga` (add), `gc` (commit), `gp` (push), `gl` (pull), `gd` (diff), `gco` (checkout), `glog` + +### Docker +`d`, `dc` (compose), `dps`, `dpa`, `di` (images), `dex` (exec -it) + +### Tools (conditional) +- `ls`/`ll`/`la`/`lt` → `eza` (if installed) +- `cat` → `bat` (if installed) + +--- + +## Zsh Theme + +The `adlee` theme provides: +- Two-line prompt with git branch + dirty indicator +- Command timer for commands >10s (color-coded by duration) +- Package update count indicator +- Root detection (red `#` vs blue `%`) + +--- + +## Configuration + +Edit `~/.dotfiles/dotfiles.conf`: + +```bash +# Display +DF_WIDTH="74" +MOTD_STYLE="compact" # compact, mini, full, none + +# Features +ENABLE_SMART_SUGGESTIONS="true" +ENABLE_COMMAND_PALETTE="true" + +# Tmuxinator +TMUXINATOR_ENABLED="auto" +TW_PREFER_TMUXINATOR="true" +``` + +### Local Overrides + +Create `~/.zshrc.local` for machine-specific settings. + +--- + +## Repository Structure + +``` +~/.dotfiles/ +├── install.sh # Installer +├── dotfiles.conf # Configuration +├── bin/ # Scripts → ~/.local/bin +├── zsh/ +│ ├── .zshrc +│ ├── aliases.zsh +│ ├── lib/ # colors, config, utils, bootstrap +│ ├── themes/adlee.zsh-theme +│ └── functions/ # Feature modules +├── vim/.vimrc +├── tmux/.tmux.conf +├── espanso/ # Text expansion +└── .tmux-templates/ # Workspace layouts +``` + +--- + +## License + +MIT – See [LICENSE](LICENSE) + +**Author:** Aaron D. Lee +**Repository:** https://github.com/adlee-was-taken/dotfiles + + # Dotfiles Improvements This directory contains suggested improvements for your dotfiles project. These additions enhance functionality, maintainability, and user experience.