configs-all 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +3 -0
- package/CLAUDE.md +94 -0
- package/README.md +424 -0
- package/TERMINAL_SHORTCUTS.md +96 -0
- package/WINDOWS_COMPATIBILITY.md +85 -0
- package/WINDOWS_MCP_SETUP.md +133 -0
- package/apps/RectangleConfig.plist +0 -0
- package/apps/Synergy +84 -0
- package/apps/iStat Menus Settings.ismp7 +0 -0
- package/claude/CLAUDE.md +228 -0
- package/claude/commands/changelog.md +36 -0
- package/claude/commands/commit.md +29 -0
- package/claude/commands/context.md +112 -0
- package/claude/commands/dash.md +37 -0
- package/claude/commands/deploy-check.md +37 -0
- package/claude/commands/deps.md +26 -0
- package/claude/commands/duplo.md +56 -0
- package/claude/commands/explain.md +43 -0
- package/claude/commands/fix-and-test.md +46 -0
- package/claude/commands/game-debug.md +66 -0
- package/claude/commands/games.md +53 -0
- package/claude/commands/go.md +147 -0
- package/claude/commands/guard.md +102 -0
- package/claude/commands/handoff.md +66 -0
- package/claude/commands/incident.md +144 -0
- package/claude/commands/init.md +78 -0
- package/claude/commands/k8s-debug.md +31 -0
- package/claude/commands/lint.md +27 -0
- package/claude/commands/merge-all.md +115 -0
- package/claude/commands/merge.md +129 -0
- package/claude/commands/mikpc.md +54 -0
- package/claude/commands/morning.md +72 -0
- package/claude/commands/partymode.md +105 -0
- package/claude/commands/plans.md +88 -0
- package/claude/commands/pr.md +41 -0
- package/claude/commands/prep.md +132 -0
- package/claude/commands/push-sync.md +82 -0
- package/claude/commands/push.md +34 -0
- package/claude/commands/research.md +73 -0
- package/claude/commands/retro.md +95 -0
- package/claude/commands/review-pr.md +96 -0
- package/claude/commands/review.md +41 -0
- package/claude/commands/scaffold-agent.md +45 -0
- package/claude/commands/setup.md +92 -0
- package/claude/commands/ship-prod.md +97 -0
- package/claude/commands/ship.md +82 -0
- package/claude/commands/simplify.md +42 -0
- package/claude/commands/spike.md +110 -0
- package/claude/commands/status.md +37 -0
- package/claude/commands/sync.md +72 -0
- package/claude/commands/test.md +29 -0
- package/claude/commands/triage.md +72 -0
- package/claude/desktop/claude_desktop_config.json +9 -0
- package/claude/hooks.json +15 -0
- package/claude/mcp-servers.duplo.json +8 -0
- package/claude/mcp-servers.json +62 -0
- package/claude/scripts/psdebug.ps1 +7 -0
- package/claude/settings.json +38 -0
- package/claude/settings.local.json +4 -0
- package/claude/statusline-command.sh +94 -0
- package/claude/templates/CLAUDE-k8s-devops.md +58 -0
- package/claude/templates/CLAUDE-python-agent.md +47 -0
- package/claude/templates/CLAUDE-typescript-frontend.md +50 -0
- package/docker/ai-stack/docker-compose.yml +76 -0
- package/docker/ai-stack/searxng/limiter.toml +3 -0
- package/docker/ai-stack/searxng/settings.yml +39 -0
- package/docker/cli/config.json.template +15 -0
- package/docker/cli/daemon.json +9 -0
- package/docker/cli/features.json +3 -0
- package/docker/mcp/catalog.json +9 -0
- package/docker/mcp/catalogs/docker-mcp.yaml +15107 -0
- package/docker/mcp/config.yaml +0 -0
- package/docker/mcp/registry.yaml +37 -0
- package/docker/mcp/tools.yaml +0 -0
- package/docs/context/.gitkeep +0 -0
- package/docs/context/2026-03-02-configs.md +142 -0
- package/docs/handoff/.gitkeep +0 -0
- package/docs/incidents/.gitkeep +0 -0
- package/docs/plans/2026-02-28-autonomous-command-suite-design.md +250 -0
- package/docs/plans/2026-02-28-autonomous-command-suite.md +682 -0
- package/docs/plans/2026-03-01-ai-stack-split-architecture.md +72 -0
- package/docs/plans/2026-03-02-ai-stack-expansion.md +33 -0
- package/docs/plans/2026-03-02-merge-commands-design.md +58 -0
- package/docs/plans/2026-03-02-merge-commands.md +354 -0
- package/docs/research/.gitkeep +0 -0
- package/docs/research/2026-03-02-configs-repo-architecture.md +152 -0
- package/docs/retros/.gitkeep +0 -0
- package/docs/retros/2026-03-01-ai-stack-split-architecture.md +38 -0
- package/docs/spikes/.gitkeep +0 -0
- package/gh/config.yml +16 -0
- package/gh/hosts.yml +5 -0
- package/gh/main.json +103 -0
- package/ghostty/config +90 -0
- package/git/config/base.gitconfig +46 -0
- package/git/config/chiefmikey.gitconfig +11 -0
- package/git/config/personal.gitconfig +10 -0
- package/git/config/work.gitconfig +14 -0
- package/ide/cursor/extensions.txt +111 -0
- package/ide/cursor/keybindings.json +307 -0
- package/ide/cursor/mcp.json +92 -0
- package/ide/cursor/settings.json +544 -0
- package/ide/vscode/extensions.txt +120 -0
- package/ide/vscode/insiders/extensions.txt +119 -0
- package/ide/vscode/insiders/keybindings.json +294 -0
- package/ide/vscode/insiders/settings.json +518 -0
- package/ide/vscode/keybindings.json +294 -0
- package/ide/vscode/settings.json +526 -0
- package/ide/vscode/vscode/extensions.txt +43 -0
- package/iterm/Mikey Pro.json +951 -0
- package/iterm/com.googlecode.iterm2.plist +5549 -0
- package/iterm/font/MesloLGS NF Bold Italic.ttf +0 -0
- package/iterm/font/MesloLGS NF Bold.ttf +0 -0
- package/iterm/font/MesloLGS NF Italic.ttf +0 -0
- package/iterm/font/MesloLGS NF Regular.ttf +0 -0
- package/package.json +15 -0
- package/scripts/ai/deploy-ai-stack.sh +119 -0
- package/scripts/ai/fix-ai-proxy.service +12 -0
- package/scripts/ai/fix-ai-proxy.sh +25 -0
- package/scripts/brew/search/brew-search-results.sh +19 -0
- package/scripts/brew/search/brew-search.sh +34 -0
- package/scripts/brew/upgrade/brew-upgrade-autoupdate.sh +5 -0
- package/scripts/brew/upgrade/brew-upgrade-full-auto.sh +89 -0
- package/scripts/brew/upgrade/brew-upgrade-full.sh +159 -0
- package/scripts/docker/cleanup/docker-cleanup-manage.sh +163 -0
- package/scripts/docker/cleanup/docker-cleanup.cron +12 -0
- package/scripts/docker/cleanup/docker-cleanup.sh +280 -0
- package/scripts/docker/install/README.md +23 -0
- package/scripts/docker/install/docker-al2.sh +7 -0
- package/scripts/docker/install/docker-compose-al2.sh +15 -0
- package/scripts/gh/auth/auth.sh +12 -0
- package/scripts/gh/config/gh-config.sh +3 -0
- package/scripts/gh/gist/gh-gist-create.sh +29 -0
- package/scripts/gh/gist/gh-gist-delete.sh +1 -0
- package/scripts/gh/gist/gh-gist-edit.sh +8 -0
- package/scripts/gh/gpg-key/gh-gpg-key-add.sh +3 -0
- package/scripts/gh/install/install.sh +7 -0
- package/scripts/gh/label/gh-label-clone.sh +0 -0
- package/scripts/gh/label/gh-label-create.sh +0 -0
- package/scripts/gh/label/gh-label-delete.sh +0 -0
- package/scripts/gh/label/gh-label-edit.sh +0 -0
- package/scripts/gh/label/gh-label-list.sh +0 -0
- package/scripts/gh/secret/gh-secret-delete.sh +24 -0
- package/scripts/gh/secret/gh-secret-set.sh +70 -0
- package/scripts/gh/ssh-key/gh-ssh-key-add.sh +8 -0
- package/scripts/git/add/git-add.sh +3 -0
- package/scripts/git/auth/README.md +11 -0
- package/scripts/git/auth/https.sh +20 -0
- package/scripts/git/auth/ssh-mac.sh +41 -0
- package/scripts/git/branch-delete/git-branch-delete.sh +16 -0
- package/scripts/git/checkout/git-checkout-stash.sh +32 -0
- package/scripts/git/temp/git-temp-pull.sh +6 -0
- package/scripts/git/temp/git-temp-push.sh +5 -0
- package/scripts/install/fresh.zsh +34 -0
- package/scripts/install/full-install.zsh +193 -0
- package/scripts/linux/codedeploy/README.md +19 -0
- package/scripts/linux/codedeploy/linux-codedeploy-al2.sh +13 -0
- package/scripts/linux/codedeploy/linux-codedeploy-index.sh +16 -0
- package/scripts/linux/codedeploy/linux-codedeploy-ubuntu.sh +14 -0
- package/scripts/linux/coredns/README.md +17 -0
- package/scripts/linux/coredns/linux-coredns-al2.sh +29 -0
- package/scripts/linux/wifi/01-netconf.yaml +21 -0
- package/scripts/linux/wifi/wifi-ubuntu.sh +17 -0
- package/scripts/mac/dock-sort/mac-dock-sort.sh +87 -0
- package/scripts/mac/dropbox-ignore/mac-dropbox-ignore.sh +12 -0
- package/scripts/mac/sudo-askpass/mac-sudo-askpass.sh +50 -0
- package/scripts/mac/sudo-askpass/setup-sudo-password.sh +49 -0
- package/scripts/mac/upgrade/mac-upgrade.sh +21 -0
- package/scripts/mac/vpn/mac-vpn.sh +4 -0
- package/scripts/mcp/aws-mcp-wrapper.ps1 +97 -0
- package/scripts/mcp/aws-mcp-wrapper.sh +53 -0
- package/scripts/mcp/duplo-mcp-wrapper.sh +31 -0
- package/scripts/mcp/filesystem-mcp-wrapper.ps1 +43 -0
- package/scripts/mcp/filesystem-mcp-wrapper.sh +34 -0
- package/scripts/mcp/git-mcp-wrapper.ps1 +42 -0
- package/scripts/mcp/git-mcp-wrapper.sh +33 -0
- package/scripts/mcp/github-mcp-wrapper.ps1 +43 -0
- package/scripts/mcp/github-mcp-wrapper.sh +19 -0
- package/scripts/mcp/kubernetes-mcp-wrapper.ps1 +22 -0
- package/scripts/mcp/kubernetes-mcp-wrapper.sh +16 -0
- package/scripts/mcp/mcp-launcher.ps1 +56 -0
- package/scripts/mcp/mcp-launcher.sh +71 -0
- package/scripts/mcp/mongodb-mcp-wrapper.ps1 +26 -0
- package/scripts/mcp/mongodb-mcp-wrapper.sh +17 -0
- package/scripts/mcp/notion-mcp-wrapper.ps1 +23 -0
- package/scripts/mcp/notion-mcp-wrapper.sh +14 -0
- package/scripts/mcp/postgres-mcp-wrapper.ps1 +23 -0
- package/scripts/mcp/postgres-mcp-wrapper.sh +16 -0
- package/scripts/npm/ncu/npm-ncu.sh +24 -0
- package/scripts/npm/upgrade/npm-upgrade.sh +51 -0
- package/scripts/qmk/build_reviung41.sh +28 -0
- package/scripts/qmk/sync_unicorne.sh +44 -0
- package/scripts/sync/README.md +64 -0
- package/scripts/sync/config-common.zsh +882 -0
- package/scripts/sync/pull-configs.ps1 +33 -0
- package/scripts/sync/pull-configs.zsh +278 -0
- package/scripts/sync/push-configs.ps1 +91 -0
- package/scripts/sync/push-configs.zsh +384 -0
- package/shell/alias/alias-d.zsh +333 -0
- package/shell/alias/alias.zsh +36 -0
- package/shell/alias/categories/development.zsh +157 -0
- package/shell/alias/categories/environment.zsh +13 -0
- package/shell/alias/categories/git.zsh +40 -0
- package/shell/alias/categories/github-functions.zsh +459 -0
- package/shell/alias/categories/network.zsh +46 -0
- package/shell/alias/categories/path.zsh +46 -0
- package/shell/alias/categories/system.zsh +78 -0
- package/shell/alias/categories/wolfe-server.zsh +11 -0
- package/shell/powershell/Microsoft.PowerShell_profile.ps1 +208 -0
- package/shell/zsh/.p10k.zsh +1832 -0
- package/shell/zsh/.zshrc +87 -0
- package/shell/zsh/config/completion.zsh +31 -0
- package/shell/zsh/config/functions.zsh +31 -0
- package/shell/zsh/config/keybindings.zsh +13 -0
- package/shell/zsh/config/options.zsh +56 -0
- package/shell/zsh/config/plugins.zsh +83 -0
- package/shell/zsh/config/variables.zsh +191 -0
- package/shell/zsh/powerlevel10k.zsh-theme +83 -0
- package/shell/zsh/zsh-autosuggestions.zsh +871 -0
- package/ssh/config +46 -0
- package/ssh/config.duplo +21 -0
- package/ssh/config.mikpc +35 -0
- package/ssh/personal_signing.pub +1 -0
- package/templates/.envrc.example +34 -0
- package/templates/.envrc.quickstart +17 -0
- package/wezterm/wezterm.lua +249 -0
- package/wsl/.wslconfig +3 -0
- package/wsl/wsl.conf +18 -0
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Project CLAUDE.md - configs
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
Centralized configuration repository for managing shell, git, IDE, SSH, and app configs across multiple machines (mikmac, mikbook, duplo, mikpc) with cross-platform support for macOS and Windows/WSL.
|
|
5
|
+
|
|
6
|
+
**THIS REPO IS THE SINGLE SOURCE OF TRUTH.** All config changes — no matter how small — MUST be made here in the repo first, then deployed to the system. Never edit deployed files directly (e.g. `~/.zshrc`, `~/.claude/settings.json`, `~/.gitconfig`). Changes made to local/deployed files will be overwritten on the next push and will never reach other machines. Even for a one-off quick fix: edit in repo → copy or run `push-configs.zsh` to deploy.
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
- **Shell scripts**: Zsh (`.zsh`/`.sh`) — the entire codebase
|
|
10
|
+
- **Linting/Formatting**: `mikey-pro` (Prettier + ESLint + Stylelint configs via `package.json`)
|
|
11
|
+
- **JSON processing**: `jq` for config transformations (Mac ↔ Windows)
|
|
12
|
+
- **Validation**: `plutil` (plist), `yq` (YAML), `jq` (JSON), `zsh -n` (shell syntax)
|
|
13
|
+
|
|
14
|
+
## Architecture
|
|
15
|
+
```
|
|
16
|
+
configs/
|
|
17
|
+
├── shell/ # Zsh config (.zshrc), aliases (modular categories), p10k theme
|
|
18
|
+
│ ├── zsh/ # .zshrc, .p10k.zsh, config/ (completion, functions, variables)
|
|
19
|
+
│ ├── alias/ # alias.zsh loads categories/ (git, system, dev, network, etc.)
|
|
20
|
+
│ └── powershell/ # Windows PowerShell profile
|
|
21
|
+
├── git/config/ # base.gitconfig + host-specific (personal, work, chiefmikey)
|
|
22
|
+
├── ide/ # VS Code (stable + insiders) and Cursor settings/keybindings/mcp
|
|
23
|
+
├── ssh/ # Host-specific SSH configs (config, config.duplo, config.mikpc)
|
|
24
|
+
├── gh/ # GitHub CLI config.yml + hosts.yml
|
|
25
|
+
├── claude/ # Claude Code settings, hooks, commands/, templates/, scripts/, desktop/
|
|
26
|
+
├── docker/ # MCP registry/catalog, CLI daemon/features, ai-stack compose
|
|
27
|
+
├── ghostty/ # Ghostty terminal config
|
|
28
|
+
├── wezterm/ # WezTerm terminal config (Lua)
|
|
29
|
+
├── iterm/ # iTerm2 plist config + font
|
|
30
|
+
├── wsl/ # WSL config (.wslconfig, wsl.conf)
|
|
31
|
+
├── apps/ # Rectangle, iStat Menus, Synergy configs
|
|
32
|
+
├── scripts/
|
|
33
|
+
│ ├── sync/ # push-configs.zsh, pull-configs.zsh, config-common.zsh
|
|
34
|
+
│ ├── ai/ # AI stack deployment (deploy-ai-stack.sh) + WSL port proxy
|
|
35
|
+
│ ├── mcp/ # MCP server wrapper scripts (.sh for Mac, .ps1 for Windows)
|
|
36
|
+
│ ├── install/ # fresh.zsh full machine setup
|
|
37
|
+
│ ├── docker/ # Docker cleanup + cron management
|
|
38
|
+
│ ├── git/ # Git helper scripts (commit, push, pull, remote, etc.)
|
|
39
|
+
│ ├── gh/ # GitHub CLI management scripts
|
|
40
|
+
│ ├── mac/ # Mac-specific scripts (VPN, dock, sudo)
|
|
41
|
+
│ ├── brew/ # Homebrew management
|
|
42
|
+
│ ├── linux/ # Linux-specific scripts (codedeploy, coredns, wifi)
|
|
43
|
+
│ ├── npm/ # NPM upgrade helpers
|
|
44
|
+
│ └── qmk/ # QMK keyboard firmware build/sync
|
|
45
|
+
├── docs/ # Persistent documentation artifacts (per-project, not synced)
|
|
46
|
+
│ ├── context/ # Repo knowledge snapshots (/context)
|
|
47
|
+
│ ├── research/ # Deep codebase research (/research)
|
|
48
|
+
│ ├── plans/ # Implementation plans with status tracking (/plans)
|
|
49
|
+
│ ├── spikes/ # Technical investigation decision artifacts (/spike)
|
|
50
|
+
│ ├── incidents/ # Incident response with phase tracking (/incident)
|
|
51
|
+
│ ├── handoff/ # Session state for continuity (/handoff)
|
|
52
|
+
│ └── retros/ # Post-task retrospectives (/retro)
|
|
53
|
+
└── templates/ # Claude Code project templates (.envrc examples)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Commands
|
|
57
|
+
```zsh
|
|
58
|
+
# Config sync (the main workflow)
|
|
59
|
+
./scripts/sync/push-configs.zsh # Deploy configs from repo → system
|
|
60
|
+
./scripts/sync/pull-configs.zsh # Backup configs from system → repo
|
|
61
|
+
|
|
62
|
+
# Docker cleanup
|
|
63
|
+
./scripts/docker/cleanup/docker-cleanup.sh --dry-run
|
|
64
|
+
./scripts/docker/cleanup/docker-cleanup-manage.sh install|status|uninstall
|
|
65
|
+
|
|
66
|
+
# Fresh machine setup
|
|
67
|
+
./scripts/install/fresh.zsh
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Conventions
|
|
71
|
+
- **THIS REPO IS THE SOURCE OF TRUTH FOR ALL CONFIGS.** Never edit deployed/local config files directly (e.g. `~/.claude/statusline-command.sh`, `~/.zshrc`, `~/.gitconfig`). Always make changes here in the repo first, then deploy with `push-configs.zsh` or a one-off `cp`/`rsync`. If you edit a local file, the change will be lost on the next push and will never reach other machines. Repo first, deploy second — no exceptions.
|
|
72
|
+
- **Hostname-based routing**: `config-common.zsh` detects hostname (mikmac/mikbook/duplo/mikpc) and selects host-specific configs (git, SSH, paths)
|
|
73
|
+
- **Mac is source of truth**: Cursor settings and MCP configs are never pulled back from Windows — only pushed with transformations
|
|
74
|
+
- **Platform guards**: `IS_MAC`/`IS_WINDOWS` booleans gate platform-specific logic; Mac-only configs return empty `dest_path` on Windows
|
|
75
|
+
- **Graceful failures**: Sync scripts use `set -uo pipefail` (no `set -e`) so individual file failures don't abort the whole run
|
|
76
|
+
- **Backup rotation**: `safe_copy()` creates timestamped backups and keeps only the 5 most recent per file
|
|
77
|
+
- **Validation before copy**: JSON/YAML/plist/shell syntax is validated before any file is deployed
|
|
78
|
+
- **Modular aliases**: `shell/alias/alias.zsh` loads categories from `shell/alias/categories/` via `load_alias_category()`
|
|
79
|
+
- **Claude Code configs live in `claude/`**: `claude/CLAUDE.md` is deployed to `~/CLAUDE.md`; commands and templates sync as directories (stale files auto-removed)
|
|
80
|
+
- **Docs system**: `docs/` directories contain persistent artifacts generated by slash commands. Status-tracked docs (plans, spikes, incidents) use `_Status:_` markers for agent awareness and resumability
|
|
81
|
+
|
|
82
|
+
## Common Mistakes to Avoid
|
|
83
|
+
- **NEVER edit deployed config files directly** — always edit in this repo, then deploy. This includes `~/.claude/*`, `~/.zshrc`, `~/.gitconfig`, IDE settings, etc. The repo is the single source of truth. Editing local files means changes get overwritten on next push and never propagate to other machines.
|
|
84
|
+
- **Don't use `set -e`** in sync scripts — it was intentionally removed so one bad file doesn't stop all deployments
|
|
85
|
+
- **Don't pull Cursor/MCP configs on Windows** — Mac is source of truth; Windows gets transformed copies on push only
|
|
86
|
+
- **Don't edit `claude/CLAUDE.md` thinking it's project-specific** — it's the global `~/CLAUDE.md` that applies to all repos
|
|
87
|
+
- **Windows backups go to `~/.config/config-backups`** — not `backups/` in the repo (NTFS permission issues with Dropbox path)
|
|
88
|
+
- **`WINDOWS_USER` is hardcoded to `"wolfe"`** in `config-common.zsh` — update it if the Windows username changes
|
|
89
|
+
|
|
90
|
+
## Testing
|
|
91
|
+
No automated test suite. Verify changes by:
|
|
92
|
+
1. Running `./scripts/sync/push-configs.zsh` and checking output for errors/warnings
|
|
93
|
+
2. Running `zsh -n <file>` to syntax-check shell scripts before committing
|
|
94
|
+
3. Running `jq empty <file>` to validate JSON configs
|
package/README.md
ADDED
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
# Configs
|
|
2
|
+
|
|
3
|
+
A centralized configuration repository for managing development tools, shell configurations, and editor settings across multiple machines.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Shell Configuration**: Zsh with Powerlevel10k theme management (Mac and WSL)
|
|
8
|
+
- **Git Configuration**: Host-specific git configurations (personal/work)
|
|
9
|
+
- **IDE Configuration**: Settings, keybindings, and extension management for VS Code, VS Code Insiders, and Cursor
|
|
10
|
+
- **GitHub CLI**: Configuration and host management
|
|
11
|
+
- **Cross-platform**: Smart hostname detection for appropriate configuration selection
|
|
12
|
+
- **Platform Support**: macOS (mikmac, mikbook, duplo) and Windows (mikpc via WSL)
|
|
13
|
+
- **Docker Cleanup**: Automated Docker resource cleanup with cron support
|
|
14
|
+
|
|
15
|
+
## Setup Instructions
|
|
16
|
+
|
|
17
|
+
### macOS Setup
|
|
18
|
+
|
|
19
|
+
1. **Install Homebrew** (if not already installed):
|
|
20
|
+
```bash
|
|
21
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. **Run full install script:**
|
|
25
|
+
```zsh
|
|
26
|
+
wget -O ~/full-install.zsh https://raw.githubusercontent.com/chiefmikey/configs/main/scripts/install/full-install.zsh
|
|
27
|
+
sudo chmod +x ~/full-install.zsh
|
|
28
|
+
sudo ~/full-install.zsh
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This will install:
|
|
32
|
+
- zsh and Powerlevel10k theme
|
|
33
|
+
- Development tools (git, node, gh, etc.)
|
|
34
|
+
- Applications (VS Code, Cursor, browsers, etc.)
|
|
35
|
+
- Mac-specific apps (iTerm2, Rectangle, iStat Menus, etc.)
|
|
36
|
+
|
|
37
|
+
3. **Apply configurations:**
|
|
38
|
+
```zsh
|
|
39
|
+
cd ~/Dropbox/dev/configs # or your hostname-specific path
|
|
40
|
+
./scripts/sync/push-configs.zsh
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
4. **Restart your terminal** - zsh should load with all your aliases
|
|
44
|
+
|
|
45
|
+
### Windows Setup (WSL + zsh)
|
|
46
|
+
|
|
47
|
+
Windows uses **WSL (Windows Subsystem for Linux)** to provide the same zsh experience as macOS.
|
|
48
|
+
|
|
49
|
+
#### Initial Setup
|
|
50
|
+
|
|
51
|
+
1. **Install WSL:**
|
|
52
|
+
```powershell
|
|
53
|
+
# Run in PowerShell as Administrator
|
|
54
|
+
wsl --install
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This installs Ubuntu by default. Restart your computer when prompted.
|
|
58
|
+
|
|
59
|
+
2. **Open WSL** (from Start Menu or `wsl` command)
|
|
60
|
+
|
|
61
|
+
3. **Install zsh in WSL:**
|
|
62
|
+
```bash
|
|
63
|
+
sudo apt-get update
|
|
64
|
+
sudo apt-get install -y zsh curl wget git
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
4. **Set zsh as default:**
|
|
68
|
+
```bash
|
|
69
|
+
chsh -s $(which zsh)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
5. **Install Powerlevel10k theme:**
|
|
73
|
+
```bash
|
|
74
|
+
# Install zsh plugins
|
|
75
|
+
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
|
|
76
|
+
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
6. **Sync your configs repo:**
|
|
80
|
+
```bash
|
|
81
|
+
# Navigate to your Dropbox location in WSL
|
|
82
|
+
cd /mnt/c/Users/wolfe/Dropbox/mikpc/dev/configs # Adjust path as needed
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
7. **Run full install (optional - installs dev tools):**
|
|
86
|
+
```zsh
|
|
87
|
+
wget -O ~/full-install.zsh https://raw.githubusercontent.com/chiefmikey/configs/main/scripts/install/full-install.zsh
|
|
88
|
+
chmod +x ~/full-install.zsh
|
|
89
|
+
./full-install.zsh
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
8. **Apply configurations:**
|
|
93
|
+
```zsh
|
|
94
|
+
./scripts/sync/push-configs.zsh
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
9. **Restart terminal** - zsh should load with all your aliases
|
|
98
|
+
|
|
99
|
+
#### Terminal Options
|
|
100
|
+
|
|
101
|
+
**Recommended: Windows Terminal**
|
|
102
|
+
- Download from Microsoft Store
|
|
103
|
+
- Or install via Chocolatey: `choco install microsoft-windows-terminal`
|
|
104
|
+
- Supports WSL, PowerShell, CMD all in one window with tabs
|
|
105
|
+
- Best experience for switching between Windows and WSL
|
|
106
|
+
|
|
107
|
+
**Alternative: VS Code / Cursor Integrated Terminal**
|
|
108
|
+
- Open terminal (Ctrl+`)
|
|
109
|
+
- Select "WSL" or "Ubuntu" from the terminal dropdown
|
|
110
|
+
- Your zsh config will load automatically
|
|
111
|
+
|
|
112
|
+
#### What Works on Windows (WSL)
|
|
113
|
+
|
|
114
|
+
✅ **ALL your zsh aliases work** (`gs`, `push`, `dev`, `configs`, `vsc`, etc.)
|
|
115
|
+
✅ All your functions work
|
|
116
|
+
✅ All your scripts work
|
|
117
|
+
✅ **Same exact experience as Mac** - uses the same zsh scripts!
|
|
118
|
+
✅ VS Code/Cursor configs automatically mapped to Windows paths
|
|
119
|
+
✅ Git configs work identically
|
|
120
|
+
✅ GitHub CLI configs work identically
|
|
121
|
+
|
|
122
|
+
#### Windows Paths in WSL
|
|
123
|
+
|
|
124
|
+
- Windows files: `/mnt/c/Users/wolfe/...`
|
|
125
|
+
- WSL files: `~/` or `/home/youruser/...`
|
|
126
|
+
- Dropbox syncs to both locations automatically
|
|
127
|
+
- VS Code configs are automatically mapped from `/mnt/c/Users/.../AppData/Roaming/`
|
|
128
|
+
|
|
129
|
+
## Usage
|
|
130
|
+
|
|
131
|
+
### Backup Current Configuration
|
|
132
|
+
|
|
133
|
+
```zsh
|
|
134
|
+
./scripts/sync/pull-configs.zsh
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
This will backup your current:
|
|
138
|
+
- Shell configurations (.zshrc)
|
|
139
|
+
- VS Code settings and keybindings (stable, Insiders, and Cursor)
|
|
140
|
+
- VS Code extensions (stable, Insiders, and Cursor)
|
|
141
|
+
- Git configuration
|
|
142
|
+
- GitHub CLI configuration
|
|
143
|
+
|
|
144
|
+
### Restore Configuration
|
|
145
|
+
|
|
146
|
+
```zsh
|
|
147
|
+
./scripts/sync/push-configs.zsh
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
This will restore all configurations. Extension lists are for reference only.
|
|
151
|
+
|
|
152
|
+
### Extension Management
|
|
153
|
+
|
|
154
|
+
- Extensions are automatically backed up to `ide/vscode/vscode/extensions.txt`, `ide/vscode/insiders/extensions.txt`, and `ide/cursor/extensions.txt`
|
|
155
|
+
- **Extension lists are for reference only** - no automatic installation
|
|
156
|
+
- Each editor (VS Code, VS Code Insiders, Cursor) manages its own extensions naturally
|
|
157
|
+
- **Your extension preferences are preserved** (disabled extensions stay disabled)
|
|
158
|
+
- **Fast backup/restore** - just configuration files, no extension management
|
|
159
|
+
|
|
160
|
+
## Docker Cleanup
|
|
161
|
+
|
|
162
|
+
### Scripts
|
|
163
|
+
|
|
164
|
+
- **`scripts/docker/cleanup/docker-cleanup.sh`** - Main cleanup script (system-wide)
|
|
165
|
+
- Smart cleanup that preserves containers from all projects
|
|
166
|
+
- Only removes unused resources
|
|
167
|
+
- Can be run manually, via alias, or via cron
|
|
168
|
+
|
|
169
|
+
- **`scripts/docker/cleanup/docker-cleanup-manage.sh`** - Cron management script
|
|
170
|
+
- Install/uninstall cron job
|
|
171
|
+
- Check status
|
|
172
|
+
- Test cleanup (dry-run)
|
|
173
|
+
- Edit cron schedule
|
|
174
|
+
- Full cron lifecycle management
|
|
175
|
+
|
|
176
|
+
- **`scripts/docker/cleanup/docker-cleanup.cron`** - Cron job template
|
|
177
|
+
- Example cron entry for weekly cleanup
|
|
178
|
+
- Runs every Sunday at 2 AM
|
|
179
|
+
- Reference only (use manage script instead)
|
|
180
|
+
|
|
181
|
+
### Shell Aliases
|
|
182
|
+
|
|
183
|
+
Docker cleanup aliases are automatically loaded via your shell configuration.
|
|
184
|
+
They're defined in `shell/alias/categories/system.zsh` and loaded automatically
|
|
185
|
+
when your shell starts (no installation needed).
|
|
186
|
+
|
|
187
|
+
### Usage
|
|
188
|
+
|
|
189
|
+
#### Option 1: Direct Script Execution
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Preview what would be removed
|
|
193
|
+
./scripts/docker/cleanup/docker-cleanup.sh --dry-run
|
|
194
|
+
|
|
195
|
+
# Interactive cleanup
|
|
196
|
+
./scripts/docker/cleanup/docker-cleanup.sh
|
|
197
|
+
|
|
198
|
+
# Automatic cleanup
|
|
199
|
+
./scripts/docker/cleanup/docker-cleanup.sh --yes
|
|
200
|
+
|
|
201
|
+
# Only clean build cache
|
|
202
|
+
./scripts/docker/cleanup/docker-cleanup.sh --build-cache-only --yes
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### Option 2: Shell Aliases (Automatic)
|
|
206
|
+
|
|
207
|
+
**Aliases are automatically loaded** via your shell config (no installation needed).
|
|
208
|
+
|
|
209
|
+
**Use anywhere:**
|
|
210
|
+
```bash
|
|
211
|
+
docker-cleanup --dry-run
|
|
212
|
+
docker-cleanup --yes
|
|
213
|
+
docker-cleanup-manage install
|
|
214
|
+
docker-cleanup-manage status
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
#### Option 3: Cron Management
|
|
218
|
+
|
|
219
|
+
**Using the management script:**
|
|
220
|
+
```bash
|
|
221
|
+
# Install weekly cleanup cron job
|
|
222
|
+
./scripts/docker/cleanup/docker-cleanup-manage.sh install
|
|
223
|
+
|
|
224
|
+
# Check status
|
|
225
|
+
./scripts/docker/cleanup/docker-cleanup-manage.sh status
|
|
226
|
+
|
|
227
|
+
# Test cleanup (dry-run)
|
|
228
|
+
./scripts/docker/cleanup/docker-cleanup-manage.sh test
|
|
229
|
+
|
|
230
|
+
# Uninstall cron job
|
|
231
|
+
./scripts/docker/cleanup/docker-cleanup-manage.sh uninstall
|
|
232
|
+
|
|
233
|
+
# Edit cron schedule manually
|
|
234
|
+
./scripts/docker/cleanup/docker-cleanup-manage.sh edit
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Or with aliases (automatically available):**
|
|
238
|
+
```bash
|
|
239
|
+
docker-cleanup-manage install
|
|
240
|
+
docker-cleanup-manage status
|
|
241
|
+
docker-cleanup-manage uninstall
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### What Gets Cleaned
|
|
245
|
+
|
|
246
|
+
The cleanup script only removes UNUSED resources:
|
|
247
|
+
- ✅ Preserves all running containers (from any project)
|
|
248
|
+
- ✅ Preserves images used by containers
|
|
249
|
+
- ✅ Preserves volumes attached to containers
|
|
250
|
+
- ✅ Only removes:
|
|
251
|
+
- Stopped containers
|
|
252
|
+
- Dangling/untagged images
|
|
253
|
+
- Unused volumes
|
|
254
|
+
- Unused networks
|
|
255
|
+
- Build cache
|
|
256
|
+
|
|
257
|
+
## Hostname Detection
|
|
258
|
+
|
|
259
|
+
The repository automatically detects your machine hostname and applies appropriate configurations:
|
|
260
|
+
|
|
261
|
+
- **`mikmac`** - Mac Studio (personal)
|
|
262
|
+
- Dropbox path: `~/Dropbox/dev/configs`
|
|
263
|
+
- Git config: `personal.gitconfig`
|
|
264
|
+
|
|
265
|
+
- **`mikbook`** - MacBook Air (personal)
|
|
266
|
+
- Dropbox path: `~/Dropbox/mikbook/dev/configs`
|
|
267
|
+
- Git config: `personal.gitconfig`
|
|
268
|
+
|
|
269
|
+
- **`duplo`** - Work MacBook Pro (work)
|
|
270
|
+
- Dropbox path: `~/Dropbox/duplo/dev/chiefmikey/configs`
|
|
271
|
+
- Git config: `work.gitconfig`
|
|
272
|
+
|
|
273
|
+
- **`mikpc`** - Windows PC (personal, uses WSL)
|
|
274
|
+
- Dropbox path: `~/Dropbox/mikpc/dev/configs` (in WSL) or `/mnt/c/Users/wolfe/Dropbox/mikpc/dev/configs`
|
|
275
|
+
- Git config: `personal.gitconfig`
|
|
276
|
+
|
|
277
|
+
Each hostname has specific Dropbox path mappings and git config selections automatically configured.
|
|
278
|
+
|
|
279
|
+
## Platform-Specific Notes
|
|
280
|
+
|
|
281
|
+
### macOS Features
|
|
282
|
+
|
|
283
|
+
The following configurations are macOS-only and automatically skipped on Windows:
|
|
284
|
+
|
|
285
|
+
- **iTerm2** preferences (`iterm/com.googlecode.iterm2.plist`)
|
|
286
|
+
- **Rectangle** window manager config (`apps/RectangleConfig.plist`)
|
|
287
|
+
- **iStat Menus** settings (`apps/iStat Menus Settings.ismp7`)
|
|
288
|
+
- **Homebrew** package management
|
|
289
|
+
- Mac system preferences (`defaults` commands)
|
|
290
|
+
|
|
291
|
+
These are conditionally included based on platform detection.
|
|
292
|
+
|
|
293
|
+
### Windows (WSL) Features
|
|
294
|
+
|
|
295
|
+
- Uses the **exact same zsh scripts** as macOS - no duplication!
|
|
296
|
+
- WSL automatically detects Windows paths and maps them correctly
|
|
297
|
+
- Config paths are automatically detected (e.g., `%APPDATA%\Code\User\` mapped from WSL)
|
|
298
|
+
- All your Mac aliases, functions, and workflows work identically
|
|
299
|
+
|
|
300
|
+
### Mac-Only Commands Not Available on Windows
|
|
301
|
+
|
|
302
|
+
These commands won't work on Windows and have no equivalents:
|
|
303
|
+
|
|
304
|
+
- `defaults` (macOS system preferences)
|
|
305
|
+
- `killall coreaudiod` (Mac audio reset)
|
|
306
|
+
- `docks` (Mac Dock sorting) → N/A on Windows
|
|
307
|
+
- Mac-specific scripts in `scripts/mac/` won't run on Windows
|
|
308
|
+
|
|
309
|
+
**Alternatives:**
|
|
310
|
+
- **iTerm2** → Use Windows Terminal or VS Code terminal
|
|
311
|
+
- **Rectangle** → Use Windows 11 Snap Layouts or PowerToys FancyZones
|
|
312
|
+
- **iStat Menus** → Use Task Manager or third-party alternatives
|
|
313
|
+
- **Homebrew** → Use `apt` in WSL or Chocolatey on Windows
|
|
314
|
+
|
|
315
|
+
## Troubleshooting
|
|
316
|
+
|
|
317
|
+
### zsh not loading
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# Check if zsh is your default shell
|
|
321
|
+
echo $SHELL # Should show /usr/bin/zsh
|
|
322
|
+
|
|
323
|
+
# If not, set it as default
|
|
324
|
+
chsh -s $(which zsh)
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Aliases not working
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
# Make sure CONFIG_DIR is set correctly
|
|
331
|
+
echo $CONFIG_DIR
|
|
332
|
+
# Should point to your configs directory
|
|
333
|
+
|
|
334
|
+
# If not set, source your .zshrc
|
|
335
|
+
source ~/.zshrc
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### Windows paths not working in WSL
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
# Verify WSL can access Windows files
|
|
342
|
+
ls /mnt/c/Users/wolfe/Dropbox
|
|
343
|
+
|
|
344
|
+
# If Dropbox isn't accessible, check Dropbox sync settings
|
|
345
|
+
# Make sure Dropbox is syncing to Windows location
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### VS Code configs not found on Windows
|
|
349
|
+
|
|
350
|
+
The scripts automatically map VS Code paths from WSL to Windows locations. If you see warnings:
|
|
351
|
+
|
|
352
|
+
1. Make sure VS Code is installed on Windows (not just in WSL)
|
|
353
|
+
2. Check that the Windows user path matches: `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/`
|
|
354
|
+
3. The scripts will detect your Windows username automatically
|
|
355
|
+
|
|
356
|
+
### Git config not applying
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
# Check which git config is being used
|
|
360
|
+
git config --list --show-origin | grep -E "(user|email)"
|
|
361
|
+
|
|
362
|
+
# Verify the correct config file is selected
|
|
363
|
+
# Check your hostname
|
|
364
|
+
hostname
|
|
365
|
+
# Should match one of: mikmac, mikbook, duplo, mikpc
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
## Quick Reference
|
|
369
|
+
|
|
370
|
+
### Common Commands
|
|
371
|
+
|
|
372
|
+
```zsh
|
|
373
|
+
# Navigate to common directories
|
|
374
|
+
dev # Go to DEV directory
|
|
375
|
+
configs # Go to configs directory
|
|
376
|
+
scripts # Go to scripts directory
|
|
377
|
+
dropbox # Go to Dropbox directory
|
|
378
|
+
|
|
379
|
+
# Git shortcuts
|
|
380
|
+
gs # git status
|
|
381
|
+
push # git push -u origin current-branch
|
|
382
|
+
pullr # git pull --rebase=merges --autostash
|
|
383
|
+
pullm # git pull --rebase=false --autostash --no-edit
|
|
384
|
+
|
|
385
|
+
# Editor shortcuts
|
|
386
|
+
vsc # code .
|
|
387
|
+
configs. # code configs directory
|
|
388
|
+
scripts. # code scripts directory
|
|
389
|
+
|
|
390
|
+
# Sync configs
|
|
391
|
+
pull-configs # Backup current configs to repo
|
|
392
|
+
push-configs # Restore configs from repo
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### Configuration Files
|
|
396
|
+
|
|
397
|
+
- **Shell**: `shell/zsh/.zshrc` → `~/.zshrc`
|
|
398
|
+
- **Git**: `git/config/base.gitconfig` + host-specific → `~/.gitconfig`
|
|
399
|
+
- **VS Code**: `ide/vscode/settings.json` → `~/Library/Application Support/Code/User/settings.json` (Mac) or `%APPDATA%\Code\User\settings.json` (Windows)
|
|
400
|
+
- **Cursor**: `ide/cursor/settings.json` → Similar paths
|
|
401
|
+
- **GitHub CLI**: `gh/config.yml` → `~/.config/gh/config.yml`
|
|
402
|
+
- **SSH**: `ssh/config` → `~/.ssh/config`
|
|
403
|
+
|
|
404
|
+
## Repository Structure
|
|
405
|
+
|
|
406
|
+
```
|
|
407
|
+
configs/
|
|
408
|
+
├── shell/
|
|
409
|
+
│ ├── zsh/ # Zsh configuration (Mac & WSL)
|
|
410
|
+
│ └── alias/ # Shell aliases and functions
|
|
411
|
+
├── git/
|
|
412
|
+
│ └── config/ # Git configurations (base + host-specific)
|
|
413
|
+
├── ide/ # IDE configs (VS Code, Insiders, Cursor)
|
|
414
|
+
│ ├── vscode/
|
|
415
|
+
│ └── cursor/
|
|
416
|
+
├── gh/ # GitHub CLI configs
|
|
417
|
+
├── ssh/ # SSH configs
|
|
418
|
+
├── scripts/
|
|
419
|
+
│ ├── sync/ # Push/pull config scripts
|
|
420
|
+
│ ├── install/ # Installation scripts
|
|
421
|
+
│ ├── mac/ # Mac-specific scripts
|
|
422
|
+
│ └── git/ # Git helper scripts
|
|
423
|
+
└── apps/ # Application-specific configs
|
|
424
|
+
```
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Terminal Keyboard Shortcuts
|
|
2
|
+
|
|
3
|
+
All three terminals use the **Mikey Pro** color scheme and unified keybindings where possible.
|
|
4
|
+
|
|
5
|
+
| Machine | Terminal | Modifier Key |
|
|
6
|
+
|---------|----------|-------------|
|
|
7
|
+
| mikmac (Mac Studio) | Ghostty / iTerm2 | Cmd |
|
|
8
|
+
| mikpc (Windows PC) | WezTerm | Alt |
|
|
9
|
+
|
|
10
|
+
> On WezTerm/Windows, substitute **Alt** wherever you see **Cmd** below.
|
|
11
|
+
|
|
12
|
+
## Tabs
|
|
13
|
+
|
|
14
|
+
| Action | Ghostty | iTerm2 | WezTerm |
|
|
15
|
+
|--------|---------|--------|---------|
|
|
16
|
+
| New tab | Cmd+T | Cmd+T | Cmd/Alt+T |
|
|
17
|
+
| Close tab | Cmd+W | Cmd+W | Cmd/Alt+W |
|
|
18
|
+
| Next tab | Ctrl+Tab | Ctrl+Tab | Ctrl+Tab |
|
|
19
|
+
| Previous tab | Ctrl+Shift+Tab | Ctrl+Shift+Tab | Ctrl+Shift+Tab |
|
|
20
|
+
| Go to tab 1-8 | Cmd+1-8 | Cmd+1-8 | Cmd/Alt+1-8 |
|
|
21
|
+
| Go to last tab | Cmd+9 | Cmd+9 | Cmd/Alt+9 |
|
|
22
|
+
|
|
23
|
+
## Splits (Panes)
|
|
24
|
+
|
|
25
|
+
| Action | Ghostty | iTerm2 | WezTerm |
|
|
26
|
+
|--------|---------|--------|---------|
|
|
27
|
+
| Split side by side | Cmd+D | Cmd+D | Cmd/Alt+D |
|
|
28
|
+
| Split top/bottom | Cmd+Shift+D | Cmd+Shift+D | Cmd/Alt+Shift+D |
|
|
29
|
+
| Close split | Cmd+W | Cmd+W | Cmd/Alt+Shift+W |
|
|
30
|
+
| Switch split (prev) | Cmd+[ | Cmd+[ | Cmd/Alt+[ |
|
|
31
|
+
| Switch split (next) | Cmd+] | Cmd+] | Cmd/Alt+] |
|
|
32
|
+
| Zoom split (toggle) | Cmd+Shift+Enter | - | Cmd/Alt+Z |
|
|
33
|
+
| Resize split | Cmd+Ctrl+Arrows | - | Cmd/Alt+Shift+Arrows |
|
|
34
|
+
|
|
35
|
+
## Navigation
|
|
36
|
+
|
|
37
|
+
| Action | Ghostty | iTerm2 | WezTerm |
|
|
38
|
+
|--------|---------|--------|---------|
|
|
39
|
+
| Jump to prev prompt | Cmd+Up | Cmd+Up | - |
|
|
40
|
+
| Jump to next prompt | Cmd+Down | Cmd+Down | - |
|
|
41
|
+
| Scroll page up | Cmd+PageUp | Cmd+PageUp | - |
|
|
42
|
+
| Scroll page down | Cmd+PageDown | Cmd+PageDown | - |
|
|
43
|
+
| Scroll to top | Cmd+Home | Cmd+Home | - |
|
|
44
|
+
| Scroll to bottom | Cmd+End | Cmd+End | - |
|
|
45
|
+
|
|
46
|
+
## Search & Selection
|
|
47
|
+
|
|
48
|
+
| Action | Ghostty | iTerm2 | WezTerm |
|
|
49
|
+
|--------|---------|--------|---------|
|
|
50
|
+
| Find | Cmd+F | Cmd+F | Cmd/Alt+F |
|
|
51
|
+
| Select all | Cmd+A | Cmd+A | - |
|
|
52
|
+
| Quick select (smart) | - | - | Cmd/Alt+Space |
|
|
53
|
+
| Copy mode (vi-style) | - | - | Cmd/Alt+Shift+X |
|
|
54
|
+
|
|
55
|
+
## Window Management
|
|
56
|
+
|
|
57
|
+
| Action | Ghostty | iTerm2 | WezTerm |
|
|
58
|
+
|--------|---------|--------|---------|
|
|
59
|
+
| New window | Cmd+N | Cmd+N | - |
|
|
60
|
+
| Close window | Cmd+Shift+W | Cmd+Shift+W | - |
|
|
61
|
+
| Toggle fullscreen | Cmd+Enter | Cmd+Enter | Cmd/Alt+Enter |
|
|
62
|
+
| Float on top | Cmd+Shift+F | - | - |
|
|
63
|
+
| Command palette | Cmd+Shift+P | - | Ctrl+Shift+P |
|
|
64
|
+
|
|
65
|
+
## Terminal
|
|
66
|
+
|
|
67
|
+
| Action | Ghostty | iTerm2 | WezTerm |
|
|
68
|
+
|--------|---------|--------|---------|
|
|
69
|
+
| Clear screen | Cmd+K | Cmd+K | Cmd/Alt+K |
|
|
70
|
+
| Copy | Cmd+C | Cmd+C | Cmd+C |
|
|
71
|
+
| Paste | Cmd+V | Cmd+V | Cmd+V |
|
|
72
|
+
| Increase font | Cmd+= | Cmd+= | Cmd/Alt+= |
|
|
73
|
+
| Decrease font | Cmd+- | Cmd+- | Cmd/Alt+- |
|
|
74
|
+
| Reset font size | Cmd+0 | Cmd+0 | Cmd/Alt+0 |
|
|
75
|
+
| Open config | Cmd+, | Cmd+, | - |
|
|
76
|
+
| Reload config | Cmd+Shift+, | - | - |
|
|
77
|
+
|
|
78
|
+
## Ghostty Exclusives
|
|
79
|
+
|
|
80
|
+
| Action | Shortcut |
|
|
81
|
+
|--------|----------|
|
|
82
|
+
| Quick terminal (dropdown) | Cmd+` (global) |
|
|
83
|
+
| Float on top | Cmd+Shift+F |
|
|
84
|
+
| Dump scrollback to file | Cmd+Shift+J |
|
|
85
|
+
| Command palette | Cmd+Shift+P |
|
|
86
|
+
| Zoom focused split | Cmd+Shift+Enter |
|
|
87
|
+
| Inspector (debug) | Cmd+Alt+I |
|
|
88
|
+
|
|
89
|
+
## WezTerm Exclusives (Windows PC)
|
|
90
|
+
|
|
91
|
+
| Action | Shortcut |
|
|
92
|
+
|--------|----------|
|
|
93
|
+
| Quick select (smart highlight) | Alt+Space |
|
|
94
|
+
| Copy mode (vi-style scroll) | Alt+Shift+X |
|
|
95
|
+
| Open PowerShell tab | Alt+Shift+T |
|
|
96
|
+
| Command palette | Ctrl+Shift+P |
|