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/ssh/config
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Host mikmac.bleak-cliff.ts.net
|
|
2
|
+
HostName mikmac.bleak-cliff.ts.net
|
|
3
|
+
User mikl
|
|
4
|
+
|
|
5
|
+
# Work Mac - Tailscale
|
|
6
|
+
Host duplo
|
|
7
|
+
HostName 100.83.140.62
|
|
8
|
+
User mikl
|
|
9
|
+
|
|
10
|
+
# Windows PC - local network
|
|
11
|
+
Host mikpc-local
|
|
12
|
+
HostName 192.168.0.5
|
|
13
|
+
User wolfe
|
|
14
|
+
|
|
15
|
+
# Windows PC - Tailscale
|
|
16
|
+
Host mikpc
|
|
17
|
+
HostName 100.89.204.71
|
|
18
|
+
User wolfe
|
|
19
|
+
|
|
20
|
+
# Home Server - Tailscale
|
|
21
|
+
Host wolfe
|
|
22
|
+
HostName 100.125.250.33
|
|
23
|
+
User wolfe
|
|
24
|
+
|
|
25
|
+
# Gaming PC (1TB isolated drive) - Tailscale
|
|
26
|
+
Host games
|
|
27
|
+
HostName 100.84.16.17
|
|
28
|
+
User relax
|
|
29
|
+
|
|
30
|
+
# GitHub (personal via 1Password) - non-duplo machines
|
|
31
|
+
Host github.com
|
|
32
|
+
HostName github.com
|
|
33
|
+
User git
|
|
34
|
+
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
|
35
|
+
IdentitiesOnly yes
|
|
36
|
+
IdentityFile ~/.ssh/personal_signing.pub
|
|
37
|
+
|
|
38
|
+
# GitHub (chiefmikey via 1Password)
|
|
39
|
+
# Only used for repos in dev/chiefmikey directory (via URL rewrite in git config)
|
|
40
|
+
Host github-chiefmikey
|
|
41
|
+
HostName github.com
|
|
42
|
+
User git
|
|
43
|
+
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
|
44
|
+
|
|
45
|
+
Host *
|
|
46
|
+
AddKeysToAgent no
|
package/ssh/config.duplo
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Host mikmac.bleak-cliff.ts.net
|
|
2
|
+
HostName mikmac.bleak-cliff.ts.net
|
|
3
|
+
User mikl
|
|
4
|
+
|
|
5
|
+
Host *
|
|
6
|
+
AddKeysToAgent no
|
|
7
|
+
|
|
8
|
+
# GitHub (miklwolfe via 1Password) - duplo only
|
|
9
|
+
Host github.com
|
|
10
|
+
HostName github.com
|
|
11
|
+
User git
|
|
12
|
+
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
|
13
|
+
|
|
14
|
+
# GitHub (chiefmikey via 1Password)
|
|
15
|
+
# Use in remotes: git@github-chiefmikey:chiefmikey/<repo>.git
|
|
16
|
+
Host github-chiefmikey
|
|
17
|
+
HostName github.com
|
|
18
|
+
User git
|
|
19
|
+
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
|
20
|
+
IdentitiesOnly yes
|
|
21
|
+
IdentityFile ~/.ssh/chiefmikey_signing.pub
|
package/ssh/config.mikpc
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Host mikmac.bleak-cliff.ts.net
|
|
2
|
+
HostName mikmac.bleak-cliff.ts.net
|
|
3
|
+
User mikl
|
|
4
|
+
|
|
5
|
+
# Work Mac - Tailscale
|
|
6
|
+
Host duplo
|
|
7
|
+
HostName 100.83.140.62
|
|
8
|
+
User mikl
|
|
9
|
+
|
|
10
|
+
# Windows PC - local network
|
|
11
|
+
Host mikpc-local
|
|
12
|
+
HostName 192.168.0.5
|
|
13
|
+
User wolfe
|
|
14
|
+
|
|
15
|
+
# Windows PC - Tailscale
|
|
16
|
+
Host mikpc
|
|
17
|
+
HostName 100.89.204.71
|
|
18
|
+
User wolfe
|
|
19
|
+
|
|
20
|
+
# GitHub SSH (WSL - uses local key)
|
|
21
|
+
Host github.com
|
|
22
|
+
HostName github.com
|
|
23
|
+
User git
|
|
24
|
+
IdentityFile ~/.ssh/id_ed25519
|
|
25
|
+
IdentitiesOnly yes
|
|
26
|
+
|
|
27
|
+
# GitHub (chiefmikey - uses local key)
|
|
28
|
+
Host github-chiefmikey
|
|
29
|
+
HostName github.com
|
|
30
|
+
User git
|
|
31
|
+
IdentityFile ~/.ssh/id_ed25519
|
|
32
|
+
IdentitiesOnly yes
|
|
33
|
+
|
|
34
|
+
Host *
|
|
35
|
+
AddKeysToAgent no
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGEDLKukaKrIbAJTyyVNMfHsEzn5AHBxlAiA5wqI9k75
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Per-Repository Environment Configuration
|
|
2
|
+
# Copy this file to your repository root as `.envrc` and customize it
|
|
3
|
+
# Run `direnv allow` after creating/modifying this file
|
|
4
|
+
|
|
5
|
+
# AWS Configuration for this repository
|
|
6
|
+
# Priority: AWS_PROFILE is used first (for Duplo JIT or standard profiles)
|
|
7
|
+
# Fallback: Direct AWS credentials (AWS_ACCESS_KEY_ID, etc.) if no profile set
|
|
8
|
+
#
|
|
9
|
+
# For Duplo JIT credentials: Set to Duplo environment name (e.g., "prod", "test10")
|
|
10
|
+
# The profile name corresponds to the Duplo environment where JIT creds are pulled from
|
|
11
|
+
# For standard AWS: Set to AWS profile name from ~/.aws/credentials
|
|
12
|
+
export AWS_PROFILE="your-profile-name"
|
|
13
|
+
export AWS_REGION="us-east-2" # Optional: override default region
|
|
14
|
+
|
|
15
|
+
# Kubernetes Configuration for this repository
|
|
16
|
+
# Set the kubeconfig file path for MCP Kubernetes server
|
|
17
|
+
# You can use an absolute path or relative to the repo
|
|
18
|
+
export KUBECONFIG="${PWD}/.kube/config"
|
|
19
|
+
# Or use an absolute path:
|
|
20
|
+
# export KUBECONFIG="${HOME}/.kube/configs/my-cluster-config"
|
|
21
|
+
|
|
22
|
+
# Example: Different configs for different environments
|
|
23
|
+
# if [[ "${PWD}" == *"production"* ]]; then
|
|
24
|
+
# export AWS_PROFILE="prod"
|
|
25
|
+
# export KUBECONFIG="${HOME}/.kube/prod-config"
|
|
26
|
+
# elif [[ "${PWD}" == *"staging"* ]]; then
|
|
27
|
+
# export AWS_PROFILE="staging"
|
|
28
|
+
# export KUBECONFIG="${HOME}/.kube/staging-config"
|
|
29
|
+
# fi
|
|
30
|
+
|
|
31
|
+
# Load any repository-specific secrets
|
|
32
|
+
if [[ -f "${PWD}/.secrets" ]]; then
|
|
33
|
+
source "${PWD}/.secrets"
|
|
34
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Quick Start: Per-Repo MCP Configuration
|
|
2
|
+
#
|
|
3
|
+
# 1. Copy this file to your repository root:
|
|
4
|
+
# cp ~/Dropbox/dev/configs/templates/.envrc.quickstart /path/to/repo/.envrc
|
|
5
|
+
#
|
|
6
|
+
# 2. Edit .envrc with your repo-specific values
|
|
7
|
+
# 3. Run: direnv allow
|
|
8
|
+
# 4. Restart Cursor - MCP will now use these settings for this repo
|
|
9
|
+
|
|
10
|
+
# AWS Profile for this repository
|
|
11
|
+
# For Duplo JIT: Set to Duplo environment name (e.g., "prod", "test10")
|
|
12
|
+
# For standard AWS: Set to AWS profile name from ~/.aws/credentials
|
|
13
|
+
# Priority: AWS_PROFILE is used first, direct AWS credentials as fallback
|
|
14
|
+
export AWS_PROFILE="your-aws-profile-name"
|
|
15
|
+
|
|
16
|
+
# Kubernetes config for this repository
|
|
17
|
+
export KUBECONFIG="${PWD}/.kube/config"
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
-- WezTerm Configuration
|
|
2
|
+
-- Mikey Pro theme (ported from iTerm2) + MesloLGS NF for powerlevel10k
|
|
3
|
+
local wezterm = require("wezterm")
|
|
4
|
+
local config = wezterm.config_builder()
|
|
5
|
+
local act = wezterm.action
|
|
6
|
+
|
|
7
|
+
-- Platform detection
|
|
8
|
+
local is_windows = wezterm.target_triple:find("windows") ~= nil
|
|
9
|
+
|
|
10
|
+
-- Shell: launch WSL zsh on Windows native, zsh directly on Linux/Mac
|
|
11
|
+
if is_windows then
|
|
12
|
+
config.default_domain = "WSL:Ubuntu"
|
|
13
|
+
end
|
|
14
|
+
config.default_prog = { "zsh", "-l" }
|
|
15
|
+
|
|
16
|
+
-- Font — MesloLGS NF (powerlevel10k recommended)
|
|
17
|
+
config.font = wezterm.font("MesloLGS NF")
|
|
18
|
+
config.font_size = is_windows and 13.0 or 16.0
|
|
19
|
+
config.line_height = 1.15
|
|
20
|
+
config.freetype_load_flags = "DEFAULT"
|
|
21
|
+
config.harfbuzz_features = { "calt=1", "clig=1", "liga=1" } -- ligatures
|
|
22
|
+
|
|
23
|
+
-- On Windows, user-installed fonts may not be in WezTerm's search path
|
|
24
|
+
if is_windows then
|
|
25
|
+
config.font_dirs = {
|
|
26
|
+
wezterm.home_dir .. "\\AppData\\Local\\Microsoft\\Windows\\Fonts",
|
|
27
|
+
wezterm.home_dir .. "\\.local\\share\\fonts",
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
-- Terminal
|
|
32
|
+
config.term = "xterm-256color"
|
|
33
|
+
config.scrollback_lines = 100000
|
|
34
|
+
config.enable_scroll_bar = false
|
|
35
|
+
config.audible_bell = "Disabled"
|
|
36
|
+
|
|
37
|
+
-- Window
|
|
38
|
+
config.initial_cols = 160
|
|
39
|
+
config.initial_rows = 60
|
|
40
|
+
config.window_padding = { left = 8, right = 8, top = 8, bottom = 8 }
|
|
41
|
+
config.window_decorations = "RESIZE"
|
|
42
|
+
config.window_close_confirmation = "NeverPrompt"
|
|
43
|
+
config.skip_close_confirmation_for_processes_named = {
|
|
44
|
+
"bash", "sh", "zsh", "fish", "tmux", "nu", "cmd.exe", "pwsh.exe",
|
|
45
|
+
"powershell.exe", "wsl.exe", "wslhost.exe", "conhost.exe",
|
|
46
|
+
}
|
|
47
|
+
config.adjust_window_size_when_changing_font_size = false
|
|
48
|
+
config.window_background_opacity = 0.95
|
|
49
|
+
config.macos_window_background_blur = 20
|
|
50
|
+
config.win32_system_backdrop = "Acrylic" -- Windows 11 blur effect
|
|
51
|
+
|
|
52
|
+
-- Tabs
|
|
53
|
+
config.hide_tab_bar_if_only_one_tab = false
|
|
54
|
+
config.use_fancy_tab_bar = true
|
|
55
|
+
config.tab_max_width = 32
|
|
56
|
+
config.show_new_tab_button_in_tab_bar = false
|
|
57
|
+
config.switch_to_last_active_tab_when_closing_tab = true
|
|
58
|
+
|
|
59
|
+
-- Tab title: show working directory name
|
|
60
|
+
wezterm.on("format-tab-title", function(tab)
|
|
61
|
+
local pane = tab.active_pane
|
|
62
|
+
local title = pane.current_working_dir
|
|
63
|
+
if title then
|
|
64
|
+
title = title.file_path
|
|
65
|
+
-- Show just the last directory component
|
|
66
|
+
title = title:gsub("/$", ""):match("([^/]+)$") or title
|
|
67
|
+
else
|
|
68
|
+
title = pane.title
|
|
69
|
+
end
|
|
70
|
+
if tab.is_active then
|
|
71
|
+
return { { Text = " " .. title .. " " } }
|
|
72
|
+
end
|
|
73
|
+
return { { Text = " " .. title .. " " } }
|
|
74
|
+
end)
|
|
75
|
+
|
|
76
|
+
-- GPU rendering
|
|
77
|
+
config.front_end = "WebGpu"
|
|
78
|
+
config.webgpu_power_preference = "HighPerformance"
|
|
79
|
+
config.animation_fps = 60
|
|
80
|
+
config.max_fps = 120
|
|
81
|
+
|
|
82
|
+
-- Cursor
|
|
83
|
+
config.default_cursor_style = "SteadyBlock"
|
|
84
|
+
config.cursor_blink_rate = 0
|
|
85
|
+
|
|
86
|
+
-- URL / hyperlink detection (clickable links like iTerm2)
|
|
87
|
+
config.hyperlink_rules = wezterm.default_hyperlink_rules()
|
|
88
|
+
-- Add file:// links for paths
|
|
89
|
+
table.insert(config.hyperlink_rules, {
|
|
90
|
+
regex = [[[^/\s]+/[^/\s]+\.[a-zA-Z]+(?::\d+)?]],
|
|
91
|
+
format = "$0",
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
-- Mouse bindings
|
|
95
|
+
config.mouse_bindings = {
|
|
96
|
+
-- Ctrl+Click opens hyperlinks (like iTerm2)
|
|
97
|
+
{
|
|
98
|
+
event = { Up = { streak = 1, button = "Left" } },
|
|
99
|
+
mods = "CTRL",
|
|
100
|
+
action = act.OpenLinkAtMouseCursor,
|
|
101
|
+
},
|
|
102
|
+
-- Right click pastes
|
|
103
|
+
{
|
|
104
|
+
event = { Down = { streak = 1, button = "Right" } },
|
|
105
|
+
mods = "NONE",
|
|
106
|
+
action = act.PasteFrom("Clipboard"),
|
|
107
|
+
},
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
-- Quick select mode (like iTerm2's smart selection)
|
|
111
|
+
config.quick_select_patterns = {
|
|
112
|
+
-- Git hashes
|
|
113
|
+
"[0-9a-f]{7,40}",
|
|
114
|
+
-- IPs
|
|
115
|
+
"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}",
|
|
116
|
+
-- File paths
|
|
117
|
+
"[\\w\\-./]+\\.[a-zA-Z]{1,6}(?::\\d+)?",
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
-- Mikey Pro color scheme (ported from iTerm2 profile)
|
|
121
|
+
config.colors = {
|
|
122
|
+
foreground = "#fcfcfa",
|
|
123
|
+
background = "#1d1b1d",
|
|
124
|
+
cursor_fg = "#fcfcfa",
|
|
125
|
+
cursor_bg = "#7e6fb2",
|
|
126
|
+
cursor_border = "#7e6fb2",
|
|
127
|
+
selection_fg = "#1d1b1d",
|
|
128
|
+
selection_bg = "#7e6fb2",
|
|
129
|
+
split = "#4f4e4f",
|
|
130
|
+
|
|
131
|
+
ansi = {
|
|
132
|
+
"#4f4e4f", -- black
|
|
133
|
+
"#9e475e", -- red
|
|
134
|
+
"#96c766", -- green
|
|
135
|
+
"#ddbd53", -- yellow
|
|
136
|
+
"#4f4e4f", -- blue (muted in Mikey Pro)
|
|
137
|
+
"#7e6fb2", -- magenta
|
|
138
|
+
"#5dacb7", -- cyan
|
|
139
|
+
"#727072", -- white
|
|
140
|
+
},
|
|
141
|
+
brights = {
|
|
142
|
+
"#727072", -- bright black
|
|
143
|
+
"#ff6188", -- bright red
|
|
144
|
+
"#a9dc76", -- bright green
|
|
145
|
+
"#ffd866", -- bright yellow
|
|
146
|
+
"#727072", -- bright blue (muted in Mikey Pro)
|
|
147
|
+
"#ab9df2", -- bright magenta
|
|
148
|
+
"#78dce8", -- bright cyan
|
|
149
|
+
"#727072", -- bright white
|
|
150
|
+
},
|
|
151
|
+
|
|
152
|
+
tab_bar = {
|
|
153
|
+
background = "#1d1b1d",
|
|
154
|
+
active_tab = {
|
|
155
|
+
bg_color = "#1d1b1d",
|
|
156
|
+
fg_color = "#fcfcfa",
|
|
157
|
+
intensity = "Bold",
|
|
158
|
+
},
|
|
159
|
+
inactive_tab = {
|
|
160
|
+
bg_color = "#1d1b1d",
|
|
161
|
+
fg_color = "#727072",
|
|
162
|
+
},
|
|
163
|
+
inactive_tab_hover = {
|
|
164
|
+
bg_color = "#4f4e4f",
|
|
165
|
+
fg_color = "#fcfcfa",
|
|
166
|
+
},
|
|
167
|
+
new_tab = {
|
|
168
|
+
bg_color = "#1d1b1d",
|
|
169
|
+
fg_color = "#727072",
|
|
170
|
+
},
|
|
171
|
+
new_tab_hover = {
|
|
172
|
+
bg_color = "#4f4e4f",
|
|
173
|
+
fg_color = "#fcfcfa",
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
-- Keybindings
|
|
179
|
+
-- On Windows native, SUPER = Win key. Use ALT as the modifier instead.
|
|
180
|
+
local mod = is_windows and "ALT" or "SUPER"
|
|
181
|
+
|
|
182
|
+
config.keys = {
|
|
183
|
+
-- Tabs
|
|
184
|
+
{ key = "t", mods = mod, action = is_windows
|
|
185
|
+
and act.SpawnTab({ DomainName = "WSL:Ubuntu" })
|
|
186
|
+
or act.SpawnTab("CurrentPaneDomain") },
|
|
187
|
+
{ key = "w", mods = mod, action = act.CloseCurrentTab({ confirm = false }) },
|
|
188
|
+
{ key = "Tab", mods = "CTRL", action = act.ActivateTabRelative(1) },
|
|
189
|
+
{ key = "Tab", mods = "CTRL|SHIFT", action = act.ActivateTabRelative(-1) },
|
|
190
|
+
-- Direct tab access (Alt+1 through Alt+9)
|
|
191
|
+
{ key = "1", mods = mod, action = act.ActivateTab(0) },
|
|
192
|
+
{ key = "2", mods = mod, action = act.ActivateTab(1) },
|
|
193
|
+
{ key = "3", mods = mod, action = act.ActivateTab(2) },
|
|
194
|
+
{ key = "4", mods = mod, action = act.ActivateTab(3) },
|
|
195
|
+
{ key = "5", mods = mod, action = act.ActivateTab(4) },
|
|
196
|
+
{ key = "6", mods = mod, action = act.ActivateTab(5) },
|
|
197
|
+
{ key = "7", mods = mod, action = act.ActivateTab(6) },
|
|
198
|
+
{ key = "8", mods = mod, action = act.ActivateTab(7) },
|
|
199
|
+
{ key = "9", mods = mod, action = act.ActivateTab(-1) }, -- last tab
|
|
200
|
+
|
|
201
|
+
-- Panes
|
|
202
|
+
{ key = "d", mods = mod, action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
|
|
203
|
+
{ key = "d", mods = mod .. "|SHIFT", action = act.SplitVertical({ domain = "CurrentPaneDomain" }) },
|
|
204
|
+
{ key = "w", mods = mod .. "|SHIFT", action = act.CloseCurrentPane({ confirm = false }) },
|
|
205
|
+
{ key = "[", mods = mod, action = act.ActivatePaneDirection("Prev") },
|
|
206
|
+
{ key = "]", mods = mod, action = act.ActivatePaneDirection("Next") },
|
|
207
|
+
-- Resize panes (Alt+Arrow with Shift)
|
|
208
|
+
{ key = "LeftArrow", mods = mod .. "|SHIFT", action = act.AdjustPaneSize({ "Left", 3 }) },
|
|
209
|
+
{ key = "RightArrow", mods = mod .. "|SHIFT", action = act.AdjustPaneSize({ "Right", 3 }) },
|
|
210
|
+
{ key = "UpArrow", mods = mod .. "|SHIFT", action = act.AdjustPaneSize({ "Up", 3 }) },
|
|
211
|
+
{ key = "DownArrow", mods = mod .. "|SHIFT", action = act.AdjustPaneSize({ "Down", 3 }) },
|
|
212
|
+
-- Zoom pane toggle (like iTerm2 maximize pane)
|
|
213
|
+
{ key = "z", mods = mod, action = act.TogglePaneZoomState },
|
|
214
|
+
|
|
215
|
+
-- Search (like iTerm2 Cmd+F / Ghostty Cmd+F)
|
|
216
|
+
{ key = "f", mods = mod, action = act.Search({ CaseInSensitiveString = "" }) },
|
|
217
|
+
|
|
218
|
+
-- Quick select mode (like iTerm2 smart selection — highlights and copies matches)
|
|
219
|
+
{ key = "Space", mods = mod, action = act.QuickSelect },
|
|
220
|
+
|
|
221
|
+
-- Copy mode (like tmux copy mode — vi-style scrollback navigation)
|
|
222
|
+
{ key = "x", mods = mod .. "|SHIFT", action = act.ActivateCopyMode },
|
|
223
|
+
|
|
224
|
+
-- Clear scrollback
|
|
225
|
+
{ key = "k", mods = mod, action = act.ClearScrollback("ScrollbackAndViewport") },
|
|
226
|
+
|
|
227
|
+
-- Font size
|
|
228
|
+
{ key = "=", mods = mod, action = act.IncreaseFontSize },
|
|
229
|
+
{ key = "-", mods = mod, action = act.DecreaseFontSize },
|
|
230
|
+
{ key = "0", mods = mod, action = act.ResetFontSize },
|
|
231
|
+
|
|
232
|
+
-- Toggle fullscreen
|
|
233
|
+
{ key = "Enter", mods = mod, action = act.ToggleFullScreen },
|
|
234
|
+
|
|
235
|
+
-- Clipboard (Ctrl+C/V on Windows — intercept before terminal so apps don't steal them)
|
|
236
|
+
{ key = "c", mods = "CTRL|SHIFT", action = act.CopyTo("Clipboard") },
|
|
237
|
+
{ key = "v", mods = is_windows and "CTRL" or "SUPER", action = act.PasteFrom("Clipboard") },
|
|
238
|
+
|
|
239
|
+
-- Command palette (like Ghostty/VS Code Ctrl+Shift+P)
|
|
240
|
+
{ key = "p", mods = "CTRL|SHIFT", action = act.ActivateCommandPalette },
|
|
241
|
+
|
|
242
|
+
-- Open PowerShell tab (Alt+Shift+T on Windows) for native Windows work
|
|
243
|
+
{ key = "t", mods = mod .. "|SHIFT", action = act.SpawnCommandInNewTab({
|
|
244
|
+
domain = { DomainName = "local" },
|
|
245
|
+
args = is_windows and { "powershell.exe" } or { "zsh", "-l" },
|
|
246
|
+
}) },
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
return config
|
package/wsl/.wslconfig
ADDED
package/wsl/wsl.conf
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[boot]
|
|
2
|
+
systemd=true
|
|
3
|
+
|
|
4
|
+
[interop]
|
|
5
|
+
enabled=true
|
|
6
|
+
appendWindowsPath=true
|
|
7
|
+
|
|
8
|
+
[user]
|
|
9
|
+
default=wolfe
|
|
10
|
+
|
|
11
|
+
[network]
|
|
12
|
+
generateHosts=true
|
|
13
|
+
generateResolvConf=true
|
|
14
|
+
|
|
15
|
+
[automount]
|
|
16
|
+
enabled=true
|
|
17
|
+
mountFsTab=true
|
|
18
|
+
options=metadata,uid=1001,gid=1001,umask=22,fmask=11
|