update readme

This commit is contained in:
2026-06-27 00:17:56 -04:00
parent 0948254b3a
commit d476129d5f
2 changed files with 120 additions and 20 deletions
+107 -20
View File
@@ -2,42 +2,126 @@
[![built with Grok](https://img.shields.io/badge/built%20with-Grok-000000?style=for-the-badge&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI%2BPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xMy4yMzcxIDIxLjA0MDdMMjQuMzE4NiAxMi44NTA2QzI0Ljg2MTkgMTIuNDQ5MSAyNS42Mzg0IDEyLjYwNTcgMjUuODk3MyAxMy4yMjk0QzI3LjI1OTcgMTYuNTE4NSAyNi42NTEgMjAuNDcxMiAyMy45NDAzIDIzLjE4NTFDMjEuMjI5NyAyNS44OTg5IDE3LjQ1ODEgMjYuNDk0MSAxNC4wMTA4IDI1LjEzODZMMTAuMjQ0OSAyNi44ODQzQzE1LjY0NjMgMzAuNTgwNiAyMi4yMDUzIDI5LjY2NjUgMjYuMzA0IDI1LjU2MDFDMjkuNTU1MSAyMi4zMDUxIDMwLjU2MiAxNy44NjgzIDI5LjYyMDUgMTMuODY3M0wyOS42MjkgMTMuODc1OEMyOC4yNjM3IDcuOTk4MDkgMjkuOTY0NyA1LjY0ODcxIDMzLjQ0OSAwLjg0NDU3NkMzMy41MzE0IDAuNzMwNjY3IDMzLjYxMzkgMC42MTY3NTcgMzMuNjk2NCAwLjVMMjkuMTExMyA1LjA5MDU1VjUuMDc2MzFMMTMuMjM0MyAyMS4wNDM2Ii8%2BPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xMC45NTAzIDIzLjAzMTNDNy4wNzM0MyAxOS4zMjM1IDcuNzQxODUgMTMuNTg1MyAxMS4wNDk4IDEwLjI3NjNDMTMuNDk1OSA3LjgyNzIyIDE3LjUwMzYgNi44Mjc2NyAyMS4wMDIxIDguMjk3MUwyNC43NTk1IDYuNTU5OThDMjQuMDgyNiA2LjA3MDE3IDIzLjIxNSA1LjU0MzM0IDIyLjIxOTUgNS4xNzMxM0MxNy43MTk4IDMuMzE5MjYgMTIuMzMyNiA0LjI0MTkyIDguNjc0NzkgNy45MDEyNkM1LjE1NjM1IDExLjQyMzkgNC4wNDk5IDE2Ljg0MDMgNS45NDk5MiAyMS40NjIyQzcuMzY5MjQgMjQuOTE2NSA1LjA0MjU3IDI3LjM1OTggMi42OTg4NCAyOS44MjZDMS44NjgyOSAzMC43MDAyIDEuMDM0OSAzMS41NzQ1IDAuMzYzNjQgMzIuNUwxMC45NDc0IDIzLjAzNDEiLz48L3N2Zz4%3D)](https://x.ai/grok)
## Stow
Personal dotfiles managed with [GNU Stow](https://www.gnu.org/software/stow/). Each top-level directory is a stow package that mirrors files into `$HOME`.
1. Install it:
``sudo dnf install stow``
## Quick start
2. Organize your repo like this:
```bash
git clone <repo-url> ~/.dotfiles
cd ~/.dotfiles
# Arch
sudo pacman -S stow
# Fedora
# sudo dnf install stow
stow bash git nvim vim python ghostty mangohud konsole kde-themes dolphin agents vscode vscode-server
```
~/dotfiles/
To stow all packages at once (excludes `arch/`, which is not a stow package):
```bash
stow agents bash dolphin ghostty git kde-themes konsole mangohud nvim python vim vscode vscode-server
```
`arch/` holds standalone helper scripts — see [Scripts](#scripts) below.
## Packages
| Package | Symlinks |
|---------|----------|
| `bash` | `~/.bashrc`, `~/.bashrc.d/*`, `~/.editorconfig` |
| `git` | `~/.gitconfig`, `~/.gitignore_global` |
| `nvim` | `~/.config/nvim/` |
| `vim` | `~/.vimrc` |
| `python` | `~/.ruff.toml` |
| `ghostty` | `~/.config/ghostty/` |
| `mangohud` | `~/.config/MangoHud/` (base, custom, and FFXIV wine configs) |
| `konsole` | `~/.config/konsolerc`, `~/.local/share/konsole/` (Catppuccin themes, bash profile) |
| `kde-themes` | `~/.local/share/color-schemes/` (Catppuccin Mocha Teal/Blue) |
| `dolphin` | `~/.config/dolphinrc`, `~/.config/dolphin/`, `~/.local/share/dolphin/` |
| `agents` | `~/.grok/` (Grok CLI config, rules, skills path) |
| `vscode` | `~/.config/Code/User/settings.json` → shared with vscode-server |
| `vscode-server` | `~/.vscode-server/data/Machine/settings.json` |
### Bash modules
`~/.bashrc.d/` is sourced automatically. Modules:
- `alias.bash` — general aliases
- `git.bash` — git helpers
- `fonts.bash` — font paths
- `ruff.bash` — Ruff integration
- `mango.bash` — MangoHud env vars
- `vscode.bash` — VS Code helpers
- `wsl.bash` — WSL ssh-agent interop (loaded only when `/mnt/c` is present)
- `apt.bash` — Debian/Ubuntu helpers
## Scripts
| Script | Purpose |
|--------|---------|
| `arch/update.sh` | Update uv, pacman, and flatpak |
| `arch/fix_vscode.sh` | Create VS Code desktop entry and icon symlinks for `/opt/vscode` |
| `dolphin.sh` | Copy live Dolphin config into the repo and `stow dolphin` |
| `vscode-server/install-vscode-extensions.sh` | Install extensions from `extensions.txt` (local, remote, or both) |
| `vscode-server/install-fira-code-fonts.sh` | Install Fira Code fonts for VS Code |
### VS Code extensions
```bash
# Install remote (WSL) extensions from extensions.txt
bash ~/.dotfiles/vscode-server/install-vscode-extensions.sh
# Export currently installed extensions back to extensions.txt
bash ~/.dotfiles/vscode-server/install-vscode-extensions.sh --export
```
## Grok agents
The `agents` package stows `~/.grok/` with global agent configuration:
- `config.toml` — CLI settings, marketplace, and skills path
- `rules/` — global rules (e.g. `american-english.md`)
- `AGENTS.md` — pointer to project-specific rules in `.grok/rules/`
Skills are loaded from `~/.dotfiles/agents/.grok/.skills` (configured in `config.toml`).
## Stow layout
Each package follows the standard stow convention — files live under the home-directory paths they should symlink to:
```
~/.dotfiles/
├── bash/
│ ├── .bashrc
│ └── .bashrc.d/ # everything here
│ └── .bashrc.d/
├── nvim/
│ └── .config/nvim/
├── git/
│ └── .gitconfig
├── agents/
│ └── .grok/
└── ...
```
3. stow it:
```
cd ~/dotfiles
stow bash
stow nvim
stow git
```
stow creates the symlinks automatically and handles conflicts nicely.
Stow creates symlinks from `$HOME` back into the repo and handles conflicts cleanly.
## WSL
Resources:
* [ssh-agent-on-windows](https://medium.com/@wondrous_oxblood_cheetah_508/ssh-agent-on-windows-c74b90fb2e31)
### Install
[![OpenSSH](https://img.shields.io/badge/Windows-OpenSSH?style=flat-square&label=OpenSSH&color=blue
)](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell&pivots=windows-11)
Resources:
- [ssh-agent-on-windows](https://medium.com/@wondrous_oxblood_cheetah_508/ssh-agent-on-windows-c74b90fb2e31)
### Install OpenSSH
[![OpenSSH](https://img.shields.io/badge/Windows-OpenSSH?style=flat-square&label=OpenSSH&color=blue)](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell&pivots=windows-11)
```powershell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
```
```powershell
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
@@ -45,6 +129,7 @@ Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
```
```powershell
# Start the sshd service
Start-Service sshd
@@ -64,4 +149,6 @@ if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyCon
```powershell
Set-Service -Name 'ssh-agent' -StartupType Automatic
Start-Service ssh-agent
```
```
Once ssh-agent is running, `wsl.bash` aliases `ssh` and `ssh-add` to their Windows `.exe` counterparts so keys persist across WSL sessions.
@@ -81,4 +81,17 @@
},
"catppuccin-icons.hidesExplorerArrows": false,
"catppuccin-icons.specificFolders": true,
"projectManager.git.baseFolders": [
"~/git",
"~/.dotfiles"
],
"projectManager.git.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
".haxelib",
"__pycache__",
".grok"
],
}