Commit Graph

145 Commits

Author SHA1 Message Date
62c575aa92 feat: add automated font installation system with fontconfig management
- Install fonts from Google Fonts via TOML config
- Generate fontconfig XML with optimized rendering settings
- Auto-run on config changes via chezmoi hook
- Support GitHub-sourced fonts (Iosevka) alongside Google Fonts
2025-12-28 15:20:04 -06:00
ffcb41380c feat: add chezmoi cd alias and separate interactive apply command 2025-12-27 23:25:34 -06:00
f859d5d44b feat: add Neovim buffer selection and clipboard shortcuts to Kitty 2025-12-27 19:16:56 -06:00
be5164de8f docs: add commit message style guidelines and argument hints to commit commands 2025-12-27 17:11:40 -06:00
17b1be33a9 feat: add commit-helper tool to optimize AI commit context
Replaces verbose git command invocations in commit commands with a smart
TypeScript helper that:
- Filters out lockfiles, binary files, and generated content from diffs
- Truncates large diffs intelligently by preserving complete file changes
- Provides structured summaries with file type distribution and change stats
- Shows previews of new files being added

Also adds Fish shell VSCode extension and enables Claude Code panel preference.
2025-12-27 17:01:31 -06:00
8b77454d2b feat: add claude-usage CLI tool with Fish shell aliases
Implements a fast Bun-based CLI utility to check Claude API rate limit usage by reading OAuth credentials and making a minimal API request to extract rate limit headers.

Provides three Fish shell aliases (cu, ccu, usage) for convenient access to the claude-usage command.
2025-12-27 17:00:25 -06:00
9eb11fd025 refactor: standardize shell initialization and improve PATH management
- Consolidate common environment setup across Fish, Bash, and PowerShell
- Improve PATH handling with deduplication and proper ordering
- Clean up TODO.md formatting and organization
- Simplify CUDA and development tool configuration
2025-12-26 14:58:10 -06:00
3365f031f9 chore: simplify plugin configuration and enable official plugins
Switch from community workflows to official plugins (rust-analyzer-lsp,
ralph-wiggum) for better maintenance. Disable DCP plugin temporarily.
Reorganize settings alphabetically and remove unused workflow plugins.
2025-12-26 14:34:51 -06:00
591d17ddba feat: add CUDA 11.8 path configuration to Fish shell 2025-12-25 17:17:40 -06:00
7ca0ea4031 docs: add communication style and disambiguation guidelines to CLAUDE.md
- Add communication style section requesting direct responses without affirmations
- Add disambiguation guidelines for common ambiguities (direction, location, scope)
- Add quick reference table for ambiguous phrases
- Clarify CLAUDE.md file location ambiguity (project vs user template)
- Add examples of good vs bad clarification patterns
- Include guidelines for operations that could lose data
- Add global git ignore for .claude/settings.local.json and .serena/
2025-12-25 17:17:31 -06:00
2ede5f925b feat: migrate sdkman wrapper to official Fish plugin 2025-12-20 13:35:13 -06:00
e829e131a5 feat: add amend-commit command with workflow instructions and CLAUDE.md updates 2025-12-20 01:46:52 -06:00
01e938b561 feat: add AGENTS.md config and Fish shell abbreviations for dev tools
- Add AGENTS.md to reference CLAUDE.md for AI agent configuration
- Add abbreviations for opencode (oc) and claude (cl) CLI tools
- Add Docker (d), just (j), cargo (cb/cr/ct/cnt), and GitHub CLI shortcuts
2025-12-20 01:09:56 -06:00
ec0d51e8d3 docs: improve commit-staged command workflow and add model config
- Update command description for clarity
- Add plan mode handling instructions
- Add guidance on scaling commit message complexity
- Configure claude-sonnet-4-5 as default model in opencode config
2025-12-20 01:09:31 -06:00
22a6a85438 chore: update Claude Code permissions and workflow settings
- Add Glob, Read, Grep as allowed tools
- Expand allowed bash commands (gradlew, mise, jq, rsync, etc.)
- Add more allowed WebFetch domains for documentation sites
- Add MCP tool permissions for grep and linear
- Disable less frequently used workflow hooks
2025-12-20 00:53:27 -06:00
6f3faca5af feat: add opencode configuration with MCP servers and DCP plugin
- Configure context7, gh_grep, and linear MCP servers
- Add DCP plugin for context pruning with detailed summaries
- Symlink AGENTS.md and commit-staged command from claude config
- Add chezmoiignore for opencode ephemeral/generated files
2025-12-20 00:52:46 -06:00
80c4082878 feat: auto-configure git include.path in chezmoi init hook 2025-12-20 00:20:45 -06:00
e51205cd49 feat: add riptree aliases to bash 2025-12-20 00:20:45 -06:00
da46bb2959 chore: update atuin config and git rename detection settings 2025-12-20 00:20:45 -06:00
a4f00563b5 docs: add git -C warning to Claude guidelines 2025-12-20 00:20:45 -06:00
262ba93097 chore: update Cursor Linux settings for Kotlin, Svelte, and Fish 2025-12-20 00:18:30 -06:00
2640e8f13c feat: add opencode PATH and disable atuin up-arrow in Fish 2025-12-20 00:18:19 -06:00
57b686cab5 feat: add atuin shell history integration for Fish
Initialize atuin in Fish shell for synced fuzzy history search with CTRL+R.
2025-11-25 15:22:32 -06:00
8f9565d0e0 feat: add Cursor Linux settings and expand Claude Code permissions
- Add comprehensive Cursor settings for Linux platform
- Expand Claude Code allowed bash commands (control flow, tooling)
- Enable KiTTy command finish notification suppression
- Add JVM languages plugin to Claude Code workflows
- Set default model to Sonnet in Claude settings
2025-11-25 15:08:42 -06:00
075810965a feat: add SDKMAN integration and improve mise/tool configuration
- Add SDKMAN initialization to bashrc for Java SDK management
- Create Fish shell wrapper function for SDKMAN commands
- Switch from lazy-loading to automatic mise activation in Fish
- Clean up fish_plugins comments for clarity
- Add pnpm to mise tool-versions
- Enable Shift+Enter in Kitty for Claude Code multi-line prompts
- Make update_pre.ts hook executable
2025-11-24 00:25:02 -06:00
Ryan Walters
262da2f114 fix: use portable file timestamp comparison in fish brew cache check
Replace fish's `-nt` test operator (not available in fish) with explicit stat-based timestamp comparison for cross-shell compatibility.
2025-11-07 11:35:10 -06:00
26f332e1a4 fix: KiTTy not using MesloLGS nerd font 2025-11-07 11:30:15 -06:00
1c87ddfa96 chore: use custom atuin self host, disable enter to accept, disable up arrow keybind in zshrc init 2025-11-07 11:30:06 -06:00
05257607d3 feat: use micro as preferred ssh editor, add Atuin PATH amendment line 2025-11-07 11:29:50 -06:00
8a5c83bdf7 feat: add atuin.sh config 2025-11-07 11:29:41 -06:00
Ryan Walters
3c1ebfe086 refactor: reorganize Claude settings for better readability
Restructure claude-settings.json by moving permissions (allow/deny/ask) before enabledPlugins section for improved logical grouping and readability.
2025-11-06 09:50:26 -06:00
Ryan Walters
4d20cbbacd docs: improve template system documentation with context parameter clarification
- Distinguish between regular templates and partials for variable access
- Document how partials receive context via explicit parameters
- Add examples for both template types with correct syntax
- Templatize global CLAUDE.md for platform-specific shell environment sections
- Add conditional rendering for Windows, WSL, and Linux environments
2025-11-04 11:35:53 -06:00
Ryan Walters
1e55b4862f feat: add Claude settings symlink management
- Add claude-settings.json as source file in chezmoi repo
- Create symlink template for .claude/settings.json
- Update .chezmoiignore to prevent recursion
- Update TODO.md to track Claude configuration progress
2025-11-03 17:04:49 -06:00
Ryan Walters
e5279d9388 feat: add global Claude configuration and update Cursor settings
- Add global CLAUDE.md with comprehensive AI assistant guidelines
- Fix Cursor terminal Shift+Enter keybinding to send escape sequence
- Remove duplicate dark color theme preference in Cursor settings
2025-11-03 16:19:21 -06:00
Ryan Walters
9fb2c304f3 feat: add Windows Terminal helper function across all shells
Add `wt` function to launch Windows Terminal with WSL in current directory across Bash, Fish, Nushell, and PowerShell. The function supports passing additional arguments while maintaining the current working directory context.
2025-11-01 11:08:32 -05:00
Ryan Walters
f4a4800af0 feat: add Cursor and Zed editor CLI integration for WSL
Add PATH configuration for Cursor IDE and Zed editor Windows installations, making their CLI tools accessible from WSL environments. Both editors are now available via command line when installed in their default Windows locations.
2025-10-31 21:49:20 -05:00
Ryan Walters
625cf3c3ae fix: correct WSL detection and improve platform-specific configuration
- Set WSL detection to false by default for proper conditional evaluation
- Add delta as diff pager for improved git diff output
- Change Windows cd command from nu to powershell.exe with -NoLogo flag
- Refactor .chezmoiignore to use clearer platform-specific sections
- Fix WSL-only files to be properly excluded on non-WSL systems
- Separate Linux/Unix and Windows file exclusions for better clarity
- Remove zsh profile from Cursor settings (migrated to Fish shell)
2025-10-27 20:01:56 -05:00
Ryan Walters
751efbc719 feat: add IDE and lazygit configuration management with cross-platform symlinks
Adds comprehensive IDE configuration tracking with platform-specific symlink templates for VS Code, Cursor, and lazygit. Windows configurations stored in AppData paths, Linux configs in .config directories, with conditional templating based on OS detection.
2025-10-27 16:44:18 -05:00
Ryan Walters
f8f0e0e615 perf: optimize shell startup with batched PATH operations and Homebrew caching
- Batch Fish PATH additions into single operation (reduces startup by ~13ms)
- Cache Homebrew shellenv output for 7 days (reduces startup by ~14ms)
- Update CLAUDE.md with TODO list update workflow guidelines
- Change default chezmoi cd shell from bash to fish
- Remove redundant bun completion sourcing in bash

Performance improvements measured through shell startup profiling.
2025-10-27 15:51:07 -05:00
d031952070 docs: update TODO.md with completed configuration tasks
Mark several completed items in TODO.md:
- Hook system documentation
- Authentication token migration to Doppler
- WSL GPG integration documentation
- mise shell integration
- Windows Terminal settings template
- Global CLAUDE.md addition
- Git configuration expansion (aliases, diff tools, signing)
- GPG configuration setup
- README.md comprehensive refactor
- Deprecated hook migration to TypeScript
- File cleanup/template conversion

Update Git identity configurations:
- Switch Ryan identity to new GPG key (301511AAD64FA365)
- Disable GPG signing for Xevion identity (no key available)
- Add WSL-specific GPG configuration using Windows GPG symlink
- Consolidate Windows/WSL config blocks in dot_gitconfig.tmpl
2025-10-27 15:26:58 -05:00
b71c320ea5 feat: add WSL GPG integration with Windows pinentry support
Configure chezmoi to automatically set up WSL to use Windows GPG for native
Qt5 GUI passphrase prompts during git commit signing:

- Add symlink_dot_gnupg.tmpl to link ~/.gnupg to Windows GPG directory
- Add run_onchange_before_setup-wsl-gpg.sh.tmpl for system GPG symlink
- Update .chezmoiignore to handle .gnupg appropriately per platform
- Document GPG configuration in CLAUDE.md and ONBOARDING.md

This enables seamless git commit signing in WSL environments (including
Claude Code) without passphrase prompt issues, while maintaining platform
independence for regular Linux installations.
2025-10-27 15:17:17 -05:00
4d914f1e2f feat: migrate from Zsh to Fish shell with comprehensive configuration
Major shell migration replacing Zsh/Oh-My-Zsh with Fish shell:

- Remove all Zsh configurations (dot_zshrc.tmpl, dot_p10k.zsh)
- Remove Oh-My-Zsh external dependencies from .chezmoiexternal.toml
- Add complete Fish shell setup with config.fish.tmpl and abbr.fish.tmpl
- Implement Fish-native functions for lazy-loading tools (mise, pyenv, zoxide, etc.)
- Create commonrc.fish.tmpl for cross-shell compatibility
- Add Fish plugin management via Fisher (tide prompt, fzf.fish)
- Update documentation (CLAUDE.md, TODO.md, ONBOARDING.md) to reflect Fish
- Add .fish.tmpl file association to VS Code settings
- Enhance PowerShell profile with lsd aliases
- Configure git delta pager and zdiff3 merge conflict style
- Update WSL keychain integration for Fish shell

This migration maintains all existing tool integrations while improving
startup performance through lazy-loading and Fish's native features.
2025-10-27 14:45:37 -05:00
Ryan Walters
4095b2d242 refactor: standardize shell aliases and remove Bitwarden login helpers
Remove the custom `bw_login` function/alias from Nushell, bash, and PowerShell configurations as it's no longer needed. Expand PowerShell profile with comprehensive git aliases matching bash conventions, add clipboard navigation helper (`cdp`), and enable chezmoi completions.
2025-10-27 02:06:46 -05:00
Ryan Walters
48d40b2872 refactor: reorganize Nushell configurations with Windows support
- Add shared Nushell config templates in .chezmoitemplates/
- Create Windows-specific Nushell configs in AppData/Roaming/
- Add Windows Terminal settings.json configuration
- Update PowerShell profile template
- Consolidate Nushell env.nu and config.nu templates across platforms
2025-10-27 01:51:21 -05:00
Ryan Walters
4f0b832564 refactor: migrate private domain and R2 credentials to Doppler
Migrate hardcoded encrypted files to centralized secret management:
- Replace encrypted domain file with Doppler variable PRIVATE_DOMAIN
- Remove encrypted R2 FUSE script and s3fs password files
- Update hishtory server configuration in commonrc.sh and install script
- Clean up .chezmoiignore for removed encrypted files

This consolidates secret management into Doppler, reducing the number of encrypted files in the repository while maintaining security.
2025-10-26 19:29:48 -05:00
Ryan Walters
397b21122e refactor: migrate private domain to encrypted file and improve configuration
- Replace interactive prompt with encrypted domain.txt.age file
- Move encryption config to top level in .chezmoi.toml.tmpl
- Add platform-specific shell configuration for chezmoi cd command
- Remove unused Perl PATH configuration from commonrc
- Add commit-staged slash command for git workflow
- Enable nushell banner and improve init_pre.ts logging
- Clean up deprecated installation scripts (ovpn, gitconfig)
- Update hishtory server configuration to use encrypted domain
2025-10-26 18:18:37 -05:00
Ryan Walters
02b9236ecf feat: major dotfiles refactor with documentation and multi-platform improvements
- Add comprehensive CLAUDE.md with chezmoi best practices and AI assistant guidelines
- Restructure TODO.md with prioritized tasks and detailed organization
- Add PowerShell profile template for Windows platform support
- Split git configs into identity-specific templates (ryan/xevion)
- Convert nushell env.nu and gitconfig to templates for cross-platform rendering
- Refactor chezmoi hooks to TypeScript (.init_pre.ts, .update_pre.ts)
- Update .chezmoiignore with better platform-specific file handling
- Remove deprecated shellchecker.sh and tasks.json from VS Code config
- Add mise integration to shell configs (bash, zsh, nushell, PowerShell)
- Clean up commonrc.sh.tmpl WSL-specific code
- Disable Deno in VS Code settings, enable simple dialog mode
- Add nushell extension recommendation to VS Code

This commit establishes better cross-platform support (Windows/WSL/Linux),
improves documentation for future maintenance, and standardizes configuration
management patterns across the repository.
2025-10-26 17:01:45 -05:00
8b718db155 chore: updated p10k 2025-08-23 12:53:05 -05:00
9ec39ae48a add dotnet tools PATH mod to commonrc 2025-06-24 19:20:42 -05:00
660940c643 add WSL specific settings block to commonrc, add BROWSER url opening fix 2025-06-24 19:20:22 -05:00