refactor: consolidate managed configs and switch go/tool-versions to mise

Reorganize symlinked configs from .config-source to .managed directory for better clarity on auto-updated vs manual files. Add mise config.toml to replace .tool-versions, pin zoxide and deno versions. Remove Go from PATH templates since it's now managed via mise.
This commit is contained in:
2026-01-01 16:59:58 -06:00
parent cbb871094d
commit 3c777c146a
29 changed files with 516 additions and 22 deletions
+5 -1
View File
@@ -1,5 +1,9 @@
# Symlinked config sources (stored in .managed/, not copied to home)
.managed
# Build/validation scripts (called by chezmoi hooks, not managed files)
hooks
tool-versions
claude-settings.json
{{/* WSL Only Files */}}
@@ -26,8 +26,6 @@ set -l paths_to_add
test -d $HOME/.hishtory && set -a paths_to_add $HOME/.hishtory
test -d $HOME/bin && set -a paths_to_add $HOME/bin
set -a paths_to_add /usr/local/bin $HOME/.local/bin
test -d /usr/local/go/bin && set -a paths_to_add /usr/local/go/bin # Go
test -d $HOME/go/bin && set -a paths_to_add $HOME/go/bin # Go-installed tools
test -d $HOME/.local/share/bob/nvim-bin && set -a paths_to_add $HOME/.local/share/bob/nvim-bin # Bob, Neovim package manager
# Deno (conditionally source env file or add to path list)
@@ -32,10 +32,6 @@ export HISHTORY_SERVER="https://hsh.{{ dopplerProjectJson.PRIVATE_DOMAIN }}"
[ -d "$HOME/.hishtory" ] && export PATH="$PATH:$HOME/.hishtory"
## Language Runtimes
# Go
[ -d "/usr/local/go/bin" ] && export PATH="$PATH:/usr/local/go/bin"
[ -d "$HOME/go/bin" ] && export PATH="$HOME/go/bin:$PATH"
# Deno (JavaScript/TypeScript runtime)
[ -d "$HOME/.deno" ] && . "$HOME/.deno/env"
+156
View File
@@ -0,0 +1,156 @@
// Place your key bindings in this file to override the defaultsauto[]
[
{
"key": "ctrl+shift+=",
"command": "-workbench.action.zoomIn"
},
{
"key": "ctrl+shift+=",
"command": "workbench.action.zoomIn"
},
{
"key": "ctrl+=",
"command": "-workbench.action.zoomIn"
},
{
"key": "ctrl+-",
"command": "-workbench.action.zoomOut"
},
{
"key": "ctrl+=",
"command": "editor.action.fontZoomIn"
},
{
"key": "ctrl+-",
"command": "editor.action.fontZoomOut"
},
{
"key": "ctrl+shift+tab",
"command": "-workbench.action.quickOpenLeastRecentlyUsedEditorInGroup",
"when": "!activeEditorGroupEmpty"
},
{
"key": "ctrl+tab",
"command": "-workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup",
"when": "!activeEditorGroupEmpty"
},
{
"key": "ctrl+tab",
"command": "workbench.action.nextEditor"
},
{
"key": "ctrl+pagedown",
"command": "-workbench.action.nextEditor"
},
{
"key": "ctrl+shift+tab",
"command": "workbench.action.previousEditor"
},
{
"key": "ctrl+pageup",
"command": "-workbench.action.previousEditor"
},
// Swap focus between terminal & active editor
{
"key": "ctrl+`",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+`",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "ctrl+W",
"command": "workbench.action.togglePanel",
"when": "terminalFocus"
},
{
"key": "ctrl+shift+space",
"command": "editor.action.showDefinitionPreviewHover"
},
{
"key": "ctrl+shift+alt+`",
"command": "workbench.action.createTerminalEditor"
},
{
"key": "ctrl+shift+/",
"command": "editor.action.blockComment",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+a",
"command": "-editor.action.blockComment",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+d",
"command": "editor.action.deleteLines",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "ctrl+shift+k",
"command": "-editor.action.deleteLines",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "ctrl+alt+d",
"command": "editor.detectLanguage",
"when": "editorTextFocus && !notebookEditable"
},
{
"key": "shift+alt+d",
"command": "-editor.detectLanguage",
"when": "editorTextFocus && !notebookEditable"
},
{
"key": "ctrl+alt+d",
"command": "notebook.cell.detectLanguage",
"when": "notebookCellEditable && notebookEditable"
},
{
"key": "shift+alt+d",
"command": "-notebook.cell.detectLanguage",
"when": "notebookCellEditable && notebookEditable"
},
{
"key": "alt+a",
"command": "composerMode.agent"
},
{
"key": "alt+g",
"command": "composerMode.chat"
},
{
"key": "ctrl+shift+n",
"command": "editor.action.inlineDiffs.rejectPartialEdit",
"when": "editorHasPromptBar && editorPromptBarFocused"
},
{
"key": "ctrl+n",
"command": "-editor.action.inlineDiffs.rejectPartialEdit",
"when": "editorHasPromptBar && editorPromptBarFocused"
},
{
"key": "ctrl+shift+n",
"command": "editor.action.inlineDiffs.rejectPartialEdit",
"when": "editorTextFocus && @inlineDiffs.rejectPartialEdit.isActiveEditorWithDiffs"
},
{
"key": "ctrl+n",
"command": "-editor.action.inlineDiffs.rejectPartialEdit",
"when": "editorTextFocus && @inlineDiffs.rejectPartialEdit.isActiveEditorWithDiffs"
},
{
"key": "ctrl+g",
"command": "-workbench.action.terminal.goToRecentDirectory"
},
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "\u001b\r"
},
"when": "terminalFocus"
}
]
+19
View File
@@ -0,0 +1,19 @@
[tools]
actionlint = "latest"
chezmoi = "latest"
deno = "2.2.2"
fastfetch = "latest"
gh = "latest"
go = "latest"
just = "latest"
ktlint = "latest"
lazygit = "latest"
lsd = "latest"
node = "latest"
pnpm = "latest"
powershell-core = "latest"
railway = "latest"
tokei = "latest"
typst = "latest"
uv = "latest"
zoxide = "0.9.6"
+86
View File
@@ -0,0 +1,86 @@
// Place your key bindings in this file to override the defaultsauto[]
[
{
"key": "ctrl+shift+=",
"command": "-workbench.action.zoomIn"
},
{
"key": "ctrl+shift+=",
"command": "workbench.action.zoomIn"
},
{
"key": "ctrl+=",
"command": "-workbench.action.zoomIn"
},
{
"key": "ctrl+-",
"command": "-workbench.action.zoomOut"
},
{
"key": "ctrl+=",
"command": "editor.action.fontZoomIn"
},
{
"key": "ctrl+-",
"command": "editor.action.fontZoomOut"
},
{
"key": "ctrl+shift+tab",
"command": "-workbench.action.quickOpenLeastRecentlyUsedEditorInGroup",
"when": "!activeEditorGroupEmpty"
},
{
"key": "ctrl+tab",
"command": "-workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup",
"when": "!activeEditorGroupEmpty"
},
{
"key": "ctrl+tab",
"command": "workbench.action.nextEditor"
},
{
"key": "ctrl+pagedown",
"command": "-workbench.action.nextEditor"
},
{
"key": "ctrl+shift+tab",
"command": "workbench.action.previousEditor"
},
{
"key": "ctrl+pageup",
"command": "-workbench.action.previousEditor"
},
// Swap focus between terminal & active editor
{
"key": "ctrl+`",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+`",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "ctrl+W",
"command": "workbench.action.togglePanel",
"when": "terminalFocus"
},
{
"key": "ctrl+shift+space",
"command": "editor.action.showDefinitionPreviewHover"
},
{
"key": "ctrl+shift+alt+`",
"command": "workbench.action.createTerminalEditor"
},
{
"key": "ctrl+shift+/",
"command": "editor.action.blockComment",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+a",
"command": "-editor.action.blockComment",
"when": "editorTextFocus && !editorReadonly"
}
]
+160
View File
@@ -0,0 +1,160 @@
{
// Editor Settings
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.fontFamily": "Iosevka",
"editor.inlineSuggest.enabled": true,
"editor.linkedEditing": true,
"editor.minimap.showSlider": "always",
"diffEditor.renderSideBySide": false,
// Workbench Settings
"workbench.startupEditor": "none",
"workbench.tree.indent": 24,
"workbench.colorTheme": "GitHub Light",
"workbench.iconTheme": "material-icon-theme",
// Window Settings
"window.autoDetectHighContrast": false,
"window.autoDetectColorScheme": true,
// Terminal Settings
"terminal.integrated.commandsToSkipShell": [
"-workbench.action.quickOpenView"
],
"terminal.integrated.fontFamily": "Iosevka Nerd Font Mono",
"terminal.integrated.enablePersistentSessions": false,
"terminal.integrated.defaultProfile.linux": "fish",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash"
},
"fish": {
"path": "fish"
},
"tmux": {
"path": "tmux",
"icon": "terminal-tmux"
},
"pwsh": {
"path": "pwsh",
"icon": "terminal-powershell"
}
},
// File Explorer Settings
"explorer.confirmDragAndDrop": false,
"explorer.confirmDelete": false,
"files.associations": {
"*.dialogue": "plaintext"
},
// Git Settings
"git.autofetch": true,
"git.confirmSync": false,
"git.openRepositoryInParentFolders": "always",
// Security Settings
"security.workspace.trust.untrustedFiles": "open",
// cSpell Settings (from Windows config)
"cSpell.ignorePaths": [
"package-lock.json",
"node_modules",
"vscode-extension",
".git/{info,lfs,logs,refs,objects}/**",
".git/{index,*refs,*HEAD}",
".vscode",
".vscode-insiders"
],
"cSpell.userWords": [
"asgi",
"astro",
"automations",
"autoprefixer",
"Behaviour",
"Boids",
"Caddyfile",
"coloors",
"Colour",
"Debugw",
"dotenv",
"Errorw",
"esbuild",
"factorio",
"fastapi",
"gnueabihf",
"groq",
"Hackathon",
"hypercorn",
"imfucked",
"jsdoc",
"jsdom",
"Lerp",
"logfile",
"Mathf",
"microcontroller",
"nodelib",
"openrgb",
"pickone",
"pipx",
"pkgjs",
"plasteel",
"proxying",
"psycopg",
"pydantic",
"pyenv",
"rdap",
"rehype",
"resliced",
"RFID",
"Runnerspace",
"Tauri",
"undelete",
"uvicorn",
"vite",
"vitejs",
"wakatime",
"Xevion"
],
// Language-specific Formatters
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "sibiraj-s.vscode-scss-formatter"
},
"[python]": {
"editor.formatOnType": true,
"editor.defaultFormatter": "ms-python.black-formatter"
},
"[go]": {
"editor.defaultFormatter": "golang.go"
},
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer"
},
"[astro]": {
"editor.defaultFormatter": "astro-build.astro-vscode"
},
"[caddyfile]": {
"editor.defaultFormatter": "matthewpi.caddyfile-support"
},
"[shellscript]": {
"editor.defaultFormatter": "foxundermoon.shell-format"
}
}
@@ -1 +1 @@
{{ .chezmoi.sourceDir }}/.config-source/lazygit/config.yml
{{ .chezmoi.sourceDir }}/.managed/lazygit/config.yml
@@ -1,4 +1,4 @@
{{/* Windows only*/}}
{{ if eq .chezmoi.os "windows" }}
{{ .chezmoi.sourceDir }}/.config-source/vscode/keybindings.windows.json
{{ .chezmoi.sourceDir }}/.managed/vscode/keybindings.windows.json
{{ end }}
@@ -1,4 +1,4 @@
{{/* Windows only*/}}
{{ if eq .chezmoi.os "windows" }}
{{ .chezmoi.sourceDir }}/.config-source/vscode/settings.windows.json
{{ .chezmoi.sourceDir }}/.managed/vscode/settings.windows.json
{{ end }}
@@ -1,4 +1,4 @@
{{/* Windows only*/}}
{{ if eq .chezmoi.os "windows" }}
{{ .chezmoi.sourceDir }}/.config-source/cursor/keybindings.windows.json
{{ .chezmoi.sourceDir }}/.managed/cursor/keybindings.windows.json
{{ end }}
@@ -1,4 +1,4 @@
{{/* Windows only*/}}
{{ if eq .chezmoi.os "windows" }}
{{ .chezmoi.sourceDir }}/.config-source/cursor/settings.windows.json
{{ .chezmoi.sourceDir }}/.managed/cursor/settings.windows.json
{{ end }}
@@ -1,3 +1,3 @@
{{ if (and (eq .chezmoi.os "linux") (not .wsl)) }}
{{ .chezmoi.sourceDir }}/.config-source/vscode/keybindings.linux.json
{{ .chezmoi.sourceDir }}/.managed/vscode/keybindings.linux.json
{{ end }}
@@ -1,3 +1,3 @@
{{ if (and (eq .chezmoi.os "linux") (not .wsl)) }}
{{ .chezmoi.sourceDir }}/.config-source/vscode/settings.linux.json
{{ .chezmoi.sourceDir }}/.managed/vscode/settings.linux.json
{{ end }}
@@ -1,3 +1,3 @@
{{ if (and (eq .chezmoi.os "linux") (not .wsl)) }}
{{ .chezmoi.sourceDir }}/.config-source/cursor/keybindings.linux.json
{{ .chezmoi.sourceDir }}/.managed/cursor/keybindings.linux.json
{{ end }}
@@ -1,3 +1,3 @@
{{ if (and (eq .chezmoi.os "linux") (not .wsl)) }}
{{ .chezmoi.sourceDir }}/.config-source/cursor/settings.linux.json
{{ .chezmoi.sourceDir }}/.managed/cursor/settings.linux.json
{{ end }}
@@ -1 +1 @@
{{ .chezmoi.sourceDir }}/.config-source/lazygit/config.yml
{{ .chezmoi.sourceDir }}/.managed/lazygit/config.yml
@@ -0,0 +1 @@
{{ .chezmoi.sourceDir }}/.managed/mise/config.toml
View File
-1
View File
@@ -1 +0,0 @@
{{ .chezmoi.sourceDir }}/tool-versions
-4
View File
@@ -1,4 +0,0 @@
nodejs latest
pnpm latest
zoxide 0.9.6
deno 2.2.2