Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
298 commits
Select commit Hold shift + click to select a range
df1d402
feat: automate SSH key generation in installation script
iammohitsakhuja Aug 19, 2025
c4e17f7
feat: transform dotfiles scripts into portable, maintainable tools
iammohitsakhuja Aug 20, 2025
dda3ae6
fix: remove obsolete homebrew/bundle tap
iammohitsakhuja Aug 20, 2025
d5db52a
feat: relocate backup directory to organized structure
iammohitsakhuja Aug 20, 2025
9d122e0
refactor: eliminate backup pattern repetition with shared utilities
iammohitsakhuja Aug 20, 2025
e27a4ff
docs: enhance VM testing guidelines to prevent host system corruption
iammohitsakhuja Aug 20, 2025
92d6adb
feat: add development tools configuration for shellcheck and shfmt
iammohitsakhuja Aug 20, 2025
ad6f4ab
feat: add VSCode recommended extensions for development tools
iammohitsakhuja Aug 20, 2025
b5cafde
feat: integrate code quality tools and pre-commit hooks
iammohitsakhuja Aug 21, 2025
644548d
feat: format & fix linting errors in some more files according to she…
iammohitsakhuja Aug 21, 2025
e5eaccb
feat: apply shellcheck & shfmt formatting to install.sh
iammohitsakhuja Aug 22, 2025
8089462
chore: add some comments/imrove them in `install.sh`
iammohitsakhuja Aug 22, 2025
2272704
feat: add shellcheck-fix slash command for Claude Code
iammohitsakhuja Aug 22, 2025
a09c0f4
feat: enhance shellcheck-fix slash command with comprehensive workflow
iammohitsakhuja Aug 22, 2025
d02ce2d
feat: format all relevant files - revert others
iammohitsakhuja Aug 22, 2025
759dddc
improvement: fix broken import and re-arrange functions
iammohitsakhuja Aug 22, 2025
b454a49
refactor: modularize install script with Apple Silicon requirement
iammohitsakhuja Aug 22, 2025
25e7d26
chore: cleanup some redundant functionality regarding rosetta & brew …
iammohitsakhuja Aug 22, 2025
d936f10
docs: update documentation for code quality tools during development
iammohitsakhuja Aug 22, 2025
c69dc71
chore: restore workflow files to `default` branch's variants
iammohitsakhuja Aug 22, 2025
5c8a946
Merge pull request #23 from iammohitsakhuja/feat/pre-commit
iammohitsakhuja Aug 22, 2025
1d6632f
fix: replace mapfile with portable while-read loop for macOS compatib…
iammohitsakhuja Aug 22, 2025
9107edc
fix: resolve backup functionality issues in install script
iammohitsakhuja Aug 22, 2025
711b7cc
fix: update font smoothing settings for macOS Sequoia compatibility
iammohitsakhuja Aug 22, 2025
9612a4c
refactor: extract bootstrap functionality into separate utility
iammohitsakhuja Aug 22, 2025
0d461c6
refactor: extract backup functionality into separate utility
iammohitsakhuja Aug 23, 2025
dbd04eb
feat: implement backup and restore system for non-stow files
iammohitsakhuja Aug 23, 2025
b6922c5
fix: standardize error handling for missing target files in backup
iammohitsakhuja Aug 23, 2025
1371c90
fix: unify conflict delimiter handling to use comma-separated format
iammohitsakhuja Aug 23, 2025
c22cb61
refactor: extract separate backup functions for stow and non-stow con…
iammohitsakhuja Aug 23, 2025
a088e13
feat: add color support and emoji standardization to logging system
iammohitsakhuja Aug 23, 2025
a17f328
feat: add customizable indentation support to logging functions
iammohitsakhuja Aug 23, 2025
63a6e8a
feat: enhance logging format in restore script with new generic funct…
iammohitsakhuja Aug 23, 2025
6b46799
feat: enhance backup logging format across all execution flows
iammohitsakhuja Aug 23, 2025
54bc6ab
fix: prevent arithmetic errors when conflict arrays are empty in back…
iammohitsakhuja Aug 23, 2025
86215e9
fix: implement a better `sudo` keepalive with proper cleanup
iammohitsakhuja Aug 23, 2025
330b0c8
fix: add error handling to restore script with set -e and set -o pipe…
claude[bot] Aug 23, 2025
9afdfe0
feat: add strict error handling to `restore.sh` script
iammohitsakhuja Aug 23, 2025
1290dbd
Merge branch 'feat/restore-from-backup' of github.com:iammohitsakhuja…
iammohitsakhuja Aug 23, 2025
e076331
Merge pull request #22 from iammohitsakhuja/feat/restore-from-backup
iammohitsakhuja Aug 23, 2025
a0a54d1
Merge pull request #16 from iammohitsakhuja/feature/reorganize-config…
iammohitsakhuja Aug 23, 2025
a4d0c5f
fix: remove unmaintained quicklook package from brewfile
iammohitsakhuja Aug 24, 2025
160687d
fix: provide correct path to Brewfile during package installation
iammohitsakhuja Aug 24, 2025
2283879
chore: update setup-development.sh script to handle missing dependenc…
iammohitsakhuja Aug 24, 2025
bd8a29c
chore: cleanup unused test & vm-management files; they don't work anyway
iammohitsakhuja Aug 24, 2025
3c5acf6
docs: update documentation for development-environment setup
iammohitsakhuja Aug 24, 2025
43e85d2
docs: update main documentation (README) & instructions for Claude
iammohitsakhuja Aug 24, 2025
a25bf7a
feat: use a better side panel width for lazygit
iammohitsakhuja Aug 24, 2025
b5534c7
feat: add a `.stow-local-ignore` file to avoid stowing unnecessary files
iammohitsakhuja Aug 24, 2025
cb82126
feat: automate perl's `cpan local::lib` installation with default config
iammohitsakhuja Aug 24, 2025
48b09ad
fix: prevent stow's tree folding to safeguard against unexpected file…
iammohitsakhuja Aug 24, 2025
528b7cd
docs: update Claude's documentation to reflect correct shared directory
iammohitsakhuja Aug 24, 2025
ae3937d
feat: separate Mac App Store apps handling with improved login detection
iammohitsakhuja Aug 24, 2025
0fb57db
chore: remove outdated TODO about automating perl cpan configuration
iammohitsakhuja Aug 24, 2025
305dc8c
feat: implement dynamic version detection across language package scr…
iammohitsakhuja Aug 24, 2025
72348f4
fix: error due to missing `gem manpages` command
iammohitsakhuja Aug 25, 2025
2e81205
fix: remove Time Machine command that disables local snapshots
iammohitsakhuja Aug 25, 2025
9701e36
refactor: centralize language version manager installation using plat…
iammohitsakhuja Aug 27, 2025
c2338f3
refactor: use centralized mas CLI installation in install-mas-apps sc…
iammohitsakhuja Aug 27, 2025
4fd17ee
chore: refactor the keepalive functionality for `sudo`
iammohitsakhuja Aug 27, 2025
a41b2fe
chore: combine OS and architecture check into a single step
iammohitsakhuja Aug 27, 2025
9422907
refactor: move homebrew installation from bootstrap to package instal…
iammohitsakhuja Aug 27, 2025
913baaa
perf: perform only a shallow clone instead of a full clone for omz pl…
iammohitsakhuja Aug 27, 2025
34e3a01
chore: perform homebrew & package installation right after bootstrapp…
iammohitsakhuja Aug 27, 2025
89b4a29
refactor: move functionality related to system configuration into a s…
iammohitsakhuja Aug 27, 2025
ed9238b
refactor: convert package installation scripts to modular utility fun…
iammohitsakhuja Aug 27, 2025
730057b
refactor: convert Mac App Store installation to modular utility archi…
iammohitsakhuja Aug 27, 2025
2789730
fix: add missing import to bootstrap utils
iammohitsakhuja Aug 29, 2025
f138a13
chore: improve logs during installation; add another sudo keepalive a…
iammohitsakhuja Aug 29, 2025
428f7a7
refactor: convert system configuration to unified utility architecture
iammohitsakhuja Aug 29, 2025
0cf5360
fix: incorrect logging source in platform utils
iammohitsakhuja Aug 30, 2025
482566b
refactor: redirect all logging functions to stderr to fix stdout poll…
iammohitsakhuja Aug 30, 2025
899ff5d
refactor: simplify mas_installer.sh path resolution
iammohitsakhuja Aug 30, 2025
4301d3c
fix: resolve BASH_SOURCE variable collisions and function context bugs
iammohitsakhuja Aug 30, 2025
b8f54c2
fix: do not change shells during oh-my-zsh installation
iammohitsakhuja Aug 30, 2025
4d0d29a
docs: update architecture documentation to reflect utility-based design
iammohitsakhuja Aug 30, 2025
3af958b
refactor: complete architectural transformation to pure utility-based…
iammohitsakhuja Aug 31, 2025
9f6f095
fix: improve installation resilience and handle existing components g…
iammohitsakhuja Aug 31, 2025
978356c
style: improve logging hierarchy and consistency across utilities
iammohitsakhuja Aug 31, 2025
28b1930
chore: ask Claude not to mention no. of lines changed in commits
iammohitsakhuja Aug 31, 2025
dfa2330
style: standardize output formatting with consistent print_newline fu…
iammohitsakhuja Aug 31, 2025
6f5fded
fix: resolve plugin installation directory detection and add branch s…
iammohitsakhuja Aug 31, 2025
c09564e
fix: use actual repository name for yazi-zoxide-zsh
iammohitsakhuja Aug 31, 2025
3f5d6d7
fix: copilot initialization error when copilot is missing
iammohitsakhuja Aug 31, 2025
4fa1ec5
chore: update `yazi-zoxide-zsh` to use upstream with plugin load fix
iammohitsakhuja Aug 31, 2025
fac0b76
chore: update celebration message for installation script
iammohitsakhuja Aug 31, 2025
3dd6a38
feat: add Full Disk Access check for installation script
iammohitsakhuja Aug 31, 2025
3a57210
feat: add print_error function and improve error styling
iammohitsakhuja Aug 31, 2025
77a67a2
chore: remove unnecessary zshrc file
iammohitsakhuja Aug 31, 2025
b0c9184
chore: link automator workflows as part of the installation process
iammohitsakhuja Aug 31, 2025
d95e00b
chore: allow clipboard access to utilities like `yazi` running via iterm
iammohitsakhuja Aug 31, 2025
4beee49
chore: link vscode extension configuration as part of the installatio…
iammohitsakhuja Aug 31, 2025
3266182
chore: update iterm config to have some transparency & better colors
iammohitsakhuja Aug 31, 2025
9044dec
Merge pull request #26 from iammohitsakhuja/feat/rearchitect
iammohitsakhuja Aug 31, 2025
988a746
chore: rename theme to have proper naming convention as per other themes
iammohitsakhuja Aug 31, 2025
51f3257
chore: increase readability in iterm by reducing transparency
iammohitsakhuja Aug 31, 2025
aa27817
feat: add more utilities to Brewfile
iammohitsakhuja Aug 31, 2025
eb45cca
fix: bug with dotfile backup - handle spaces in file/dir names carefully
iammohitsakhuja Aug 31, 2025
21ddd2d
feat: enhance yazi configuration with plugins and improved formatting
iammohitsakhuja Aug 31, 2025
f819ead
chore: update iterm configuration and font preferences
iammohitsakhuja Aug 31, 2025
9f27a14
chore: reduce side panel width for lazygit to maximize staged panel w…
iammohitsakhuja Aug 31, 2025
ffba158
chore: cleanup unused/unnecessary utility methods from `.zshrc`
iammohitsakhuja Aug 31, 2025
2741672
feat: use better fonts, especially in browsers
iammohitsakhuja Sep 1, 2025
3bcc9e4
chore: increase scroll distance in lazygit
iammohitsakhuja Sep 1, 2025
e692c39
chore: cleanup unneeded applications; move to brew instead of mas
iammohitsakhuja Sep 1, 2025
d78c897
fix: `sed` error while setting up TouchID with terminal
iammohitsakhuja Sep 1, 2025
0393783
feat: setup lazy.nvim; make `init.lua` as the entrypoint for neovim
iammohitsakhuja Sep 3, 2025
ba487a5
feat: use catppuccin theme in neovim
iammohitsakhuja Sep 3, 2025
d86a5ca
feat: set some good default neovim options for its UI, search, indent…
iammohitsakhuja Sep 4, 2025
7735599
feat: add sane neovim keymaps for navigation, editing and other funct…
iammohitsakhuja Sep 4, 2025
312dd8a
feat: add some custom commands as `autocmd`s for Neovim
iammohitsakhuja Sep 4, 2025
57c7cd6
feat: show leading spaces & tabs in Neovim
iammohitsakhuja Sep 4, 2025
df1a3bd
feat: add plugins for indentation line & virtual columns for Neovim
iammohitsakhuja Sep 4, 2025
a177afb
feat: integrate neovim plugins for statusline, smooth scrolling & fil…
iammohitsakhuja Sep 4, 2025
7ad148a
chore: add some minor adjustments to the way lualine renders the stat…
iammohitsakhuja Sep 4, 2025
d76f1db
feat: integrate Telescope into Neovim with fzf as the fuzzy finder
iammohitsakhuja Sep 5, 2025
05008bf
fix: delay in rendering caused due to frequent statusline updates
iammohitsakhuja Sep 5, 2025
b47139c
feat: add nvim surround to the neovim setup
iammohitsakhuja Sep 5, 2025
798a3dd
feat: enable lazy loading for neovim plugins
iammohitsakhuja Sep 6, 2025
db0ed6e
feat: use `alpha.nvim` as startup/dashboard screen in neovim
iammohitsakhuja Sep 6, 2025
1cee8b3
feat: integrate `which-key` plugin into Neovim for help with keymaps
iammohitsakhuja Sep 6, 2025
c9f29c3
feat: add a very basic treesitter config
iammohitsakhuja Sep 7, 2025
b055146
feat: improve performance of treesitter config by caching
iammohitsakhuja Sep 7, 2025
f01468a
perf: disable unused built-in plugins to improve performance
iammohitsakhuja Sep 7, 2025
59f3bd5
feat: make some actions inside neovim better
iammohitsakhuja Sep 7, 2025
e60a766
chore: use another plugin to directly setup treesitter; remove custom…
iammohitsakhuja Sep 7, 2025
e8ae79a
chore: update editorconfig to have saner defaults & less repetition
iammohitsakhuja Sep 7, 2025
9d4384c
fix: use a proper configuration for opening new tabs & windows in iterm
iammohitsakhuja Sep 7, 2025
52f763a
chore: remove stuff with treesitter functionality from old vimrc & co…
iammohitsakhuja Sep 7, 2025
ea3c515
feat: configure nvim-treesitter-textobjects with comprehensive text o…
iammohitsakhuja Sep 7, 2025
68d7986
chore: update leader & localleader to utilize fwd/bckwd movement
iammohitsakhuja Sep 7, 2025
1a32159
fix: unmodifiable property error while setting `fileencoding` in Neovim
iammohitsakhuja Sep 7, 2025
fc0f86f
feat: add ts-comments.nvim for enhanced treesitter-aware commenting
iammohitsakhuja Sep 7, 2025
4c5e69b
feat: integrate telescope-file-browser.nvim with unified dependency a…
iammohitsakhuja Sep 7, 2025
2918a8a
feat: add comprehensive LSP configuration with Mason integration
iammohitsakhuja Sep 9, 2025
abaf340
feat: add Fidget notifications and colorizer for enhanced editor expe…
iammohitsakhuja Sep 9, 2025
d5aa78d
feat: switch to using `Opt` key on Mac as `Alt` in iTerm (emulate `Es…
iammohitsakhuja Sep 11, 2025
b5227c0
feat: update keymaps to use `Alt` for certain actions; remove redunda…
iammohitsakhuja Sep 11, 2025
af9205c
feat: add blink.cmp completion engine with enhanced LSP integration
iammohitsakhuja Sep 11, 2025
61ec519
feat: enhance autocmds with improved window management and cursor res…
iammohitsakhuja Sep 11, 2025
57394c5
feat: add Neovim plugin for highlighting todo comments
iammohitsakhuja Sep 12, 2025
5b1fe0f
feat: add `render-markdown` neovim plugin for better rendering for ma…
iammohitsakhuja Sep 12, 2025
b865b48
chore!: separate keymaps for saving a file (forced and non-forced)
iammohitsakhuja Sep 13, 2025
8a5ab11
chore: load own options, keymaps & autocmds before lazy for the most …
iammohitsakhuja Sep 13, 2025
814e3c3
feat(neovim)!: use `tokyonight` theme instead of `catppuccin`
iammohitsakhuja Sep 13, 2025
729daca
feat(neovim): add more keymaps for diagnostic & buffer handling
iammohitsakhuja Sep 13, 2025
038a419
refactor(neovim): migrate LSP configurations to after/lsp directory s…
iammohitsakhuja Sep 13, 2025
dc73de4
feat(rust): add rustup and cargo package installation to dotfiles
iammohitsakhuja Sep 13, 2025
9245291
feat(zsh): add .zshenv for Rust/Cargo environment setup
iammohitsakhuja Sep 13, 2025
8625143
refactor(neovim)!: eliminate Mason dependencies and migrate to direct…
iammohitsakhuja Sep 13, 2025
e292f96
feat(installation): implement comprehensive tmux plugin architecture …
iammohitsakhuja Sep 14, 2025
c0f91fd
feat(tmux): enhance configuration with modern features and plugin eco…
iammohitsakhuja Sep 15, 2025
eb7c3aa
feat(iterm): add Catppuccin and TokyoNight themes with updated config…
iammohitsakhuja Sep 15, 2025
f1deea1
feat(neovim): integrate vim-tmux-navigator and Catppuccin theme for u…
iammohitsakhuja Sep 15, 2025
679540a
feat(tmux): migrate plugins to XDG data directory structure
iammohitsakhuja Sep 16, 2025
f174e42
perf: add setting to increase iterm's throughput
iammohitsakhuja Sep 16, 2025
2ef4832
fix(tmux): missing plugin for tmux-online-status
iammohitsakhuja Sep 16, 2025
5bcb23b
Merge pull request #29 from iammohitsakhuja/feat/setup-tmux
iammohitsakhuja Sep 16, 2025
5b29348
chore: cleanup necessary dotfiles; remove unneeded aliases & source c…
iammohitsakhuja Sep 16, 2025
55301a3
fix(neovim): fix lua completions for neovim modules by integrating la…
iammohitsakhuja Sep 16, 2025
9c92153
feat(claude): add some default user-level settings for claude
iammohitsakhuja Sep 16, 2025
c317738
chore(vim): remove more stuff from vimrc which has been migrated to n…
iammohitsakhuja Sep 16, 2025
aa92620
refactor(logging): standardize print_detail indentation to 3 spaces
iammohitsakhuja Sep 16, 2025
2187073
feat(lazygit): add catppuccin macchiato theme with accent switching
iammohitsakhuja Sep 17, 2025
33eb22d
feat(btop): add catppuccin macchiato theme configuration
iammohitsakhuja Sep 17, 2025
f0f9cdd
feat(docker): add catppuccin macchiato theme for lazydocker
iammohitsakhuja Sep 17, 2025
deb2a93
chore(yazi): pin versions for yazi plugins into vcs
iammohitsakhuja Sep 17, 2025
94f2a92
feat(yazi): migrate from dracula to catppuccin macchiato theme
iammohitsakhuja Sep 17, 2025
7fcf4f5
feat(k9s): add catppuccin macchiato theme configuration
iammohitsakhuja Sep 17, 2025
aa12198
feat(k9s): add better defaults to k9s
iammohitsakhuja Sep 17, 2025
6ee8340
feat(bat): add catppuccin macchiato theme and automated cache rebuild
iammohitsakhuja Sep 17, 2025
7083815
feat(nvim): add advanced folding support with nvim-ufo
iammohitsakhuja Sep 18, 2025
be36fa7
fix: fix performance bug in iterm, fix Claude's behavior when committing
iammohitsakhuja Sep 18, 2025
4fbb1b7
fix(neovim): add some QoL improvements regarding lsp float window & d…
iammohitsakhuja Sep 19, 2025
519e599
feat(nvim): add gitsigns integration with comprehensive keybinds
iammohitsakhuja Sep 19, 2025
a57e4fc
feat(macos): replace CapsLockNoDelay app with native hidutil launch a…
iammohitsakhuja Sep 21, 2025
d88def9
feat(karabiner): add comprehensive keyboard customization with Karabi…
iammohitsakhuja Sep 21, 2025
dd9fb07
fix(tmux): fix online status functionality with explicit icon configu…
iammohitsakhuja Sep 21, 2025
9d26d94
feat(nvim): add fidget.nvim configuration with telescope integration
iammohitsakhuja Sep 21, 2025
42a2b0e
feat(nvim): enable indent scope highlighting with catppuccin integration
iammohitsakhuja Sep 21, 2025
4a521d8
feat(nvim): add bufferline.nvim with comprehensive buffer management
iammohitsakhuja Sep 22, 2025
25b9fb4
feat(nvim): add Nerd Font icons to lualine statusline
iammohitsakhuja Sep 22, 2025
555c108
feat(telescope): follow symlinks while searching
iammohitsakhuja Sep 22, 2025
e724fa3
chore(neovim): add some types, update plugins
iammohitsakhuja Sep 22, 2025
4b0221b
chore(neovim): update lua lsp settings for better completion; add com…
iammohitsakhuja Sep 22, 2025
7e81ced
chore: improve shell script formatting with consistent case indentation
iammohitsakhuja Sep 22, 2025
2e23c0a
feat(neovim): add comprehensive code formatting system with conform.nvim
iammohitsakhuja Sep 23, 2025
55da30a
chore(neovim): add stylua pre-commit hook and format Lua files
iammohitsakhuja Sep 23, 2025
e0274c0
feat(neovim): add more default formatters to be used with `conform`
iammohitsakhuja Sep 23, 2025
1d5e56a
feat(neovim): enhance formatter configuration with smart fallbacks an…
iammohitsakhuja Sep 23, 2025
f086428
chore(neovim)!: set default indentation width for `jq` in neovim to 4
iammohitsakhuja Sep 23, 2025
313b913
chore(neovim)!: remove unnecessary mapping for getting conform info
iammohitsakhuja Sep 23, 2025
7e05884
feat(neovim): implement auto-session with statusline integration
iammohitsakhuja Sep 23, 2025
998dc43
feat(neovim): add nvim-autopairs with treesitter integration and fix …
iammohitsakhuja Sep 23, 2025
cb07294
chore(vim): remove more stuff from `.vimrc` which has been migrated t…
iammohitsakhuja Sep 23, 2025
a01e2e2
feat(neovim): add trouble.nvim with telescope integration
iammohitsakhuja Sep 23, 2025
9d3ef1a
feat(neovim): add github copilot for ai-assisted development
iammohitsakhuja Sep 24, 2025
6d4b15b
fix(neovim): backup & move the old `init.vim` file, if it exists
iammohitsakhuja Sep 27, 2025
4fbb203
fix(neovim)!: update catppuccin plugin & fix its breaking change
iammohitsakhuja Sep 27, 2025
dec041d
fix(eza)!: make sure that icons & colors work properly when piping to…
iammohitsakhuja Sep 27, 2025
f5b0915
chore(btop): update `btop` configuration for v1.4.5
iammohitsakhuja Sep 27, 2025
71403e1
chore(temurin): use the latest version of temurin for the global install
iammohitsakhuja Sep 27, 2025
92266b5
fix(homebrew): improve GNU utilities PATH and MANPATH configuration
iammohitsakhuja Sep 27, 2025
1ef5b7e
chore(starship): increase the command timeout & increase readability …
iammohitsakhuja Sep 27, 2025
c5bcfd2
chore(colima): relocate config to XDG directory and update for newer …
iammohitsakhuja Sep 27, 2025
768e5b9
feat(k9s): add complete Catppuccin theme collection and fix autoscroll
iammohitsakhuja Sep 27, 2025
c3862e3
feat(themes): implement comprehensive Catppuccin theme system with Mo…
iammohitsakhuja Sep 27, 2025
a6f3e8a
feat(neovim): enable colorized colors using `nvim-colorizer` for `php…
iammohitsakhuja Sep 27, 2025
0ef54b8
feat(neovim): add `intelephense` lsp configuration for development in…
iammohitsakhuja Sep 28, 2025
89e842c
feat(neovim): implement AI mode control system with Copilot integration
iammohitsakhuja Sep 28, 2025
4b425cc
feat(neovim): add Minuet AI integration for minimal mode with Ollama
iammohitsakhuja Sep 28, 2025
6a4daf7
feat(neovim): enhance file management with improved nvim-tree and tel…
iammohitsakhuja Sep 28, 2025
437b93e
chore(neovim): add default configuration for `bashls`, add types to l…
iammohitsakhuja Sep 28, 2025
ae6681c
feat(neovim): add nvim-lint integration for enhanced diagnostics
iammohitsakhuja Sep 28, 2025
807c1de
fix(neovim): fix breaking lualine when `ai_mode` is set to `copilot`;…
iammohitsakhuja Sep 29, 2025
1705089
chore(vim): cleanup vim configuration - remove `.vimrc` as it's no lo…
iammohitsakhuja Sep 29, 2025
f0225c2
Merge pull request #30 from iammohitsakhuja/feat/full-neovim
iammohitsakhuja Sep 29, 2025
7cd2793
fix(workflow): fix formatting issues with github workflow files
iammohitsakhuja Sep 29, 2025
cfc33a8
feat: add dart lsp config and switch formatter to use lsp instead of …
manuindersekhon Sep 29, 2025
d186a2e
chore: remove default options from dartls.lua, set dart formatter to …
manuindersekhon Sep 29, 2025
754d66d
Merge pull request #32 from manuindersekhon/feat/dart-lsp
iammohitsakhuja Sep 29, 2025
67e8907
feat(aerospace): add AeroSpace window manager with comprehensive work…
iammohitsakhuja Sep 29, 2025
b7fbfb7
fix(keymaps)!: resolve keybinding conflicts between AeroSpace, Neovim…
iammohitsakhuja Sep 29, 2025
f414539
Merge pull request #34 from iammohitsakhuja/feat/aerospace
iammohitsakhuja Sep 30, 2025
2bf937a
chore(iterm): update iterm to latest version; add latest config keys
iammohitsakhuja Sep 30, 2025
467e8a9
feat(wezterm): add config for wezterm
manuindersekhon Oct 1, 2025
d7e7b11
feat(aerospace): add workspace assignment for wezterm
manuindersekhon Oct 1, 2025
d968ab6
fix(install): use formula instead of cask for 'borders' app
iammohitsakhuja Oct 1, 2025
d6193cc
fix(yazi): fix yazi plugin installation by directly making use of `pa…
iammohitsakhuja Oct 1, 2025
6570557
fix(tmux): fix tmux plugin installation by exporting all required XDG…
iammohitsakhuja Oct 1, 2025
132c92e
feat(aerospace): add more apps to have a default workspace assignment
iammohitsakhuja Oct 1, 2025
6a1d9dd
chore(fonts)!: use a separate nerd font for symbols; set main termina…
iammohitsakhuja Oct 3, 2025
61dc45f
feat(yazi): allow pdf previews in yazi via poppler
iammohitsakhuja Oct 3, 2025
b73cb6f
feat(aerospace)!: change default layout to `tiles`, add more apps to …
iammohitsakhuja Oct 3, 2025
4474211
chore(yazi): upgrade yazi packages
iammohitsakhuja Oct 3, 2025
1a47df0
Merge branch 'feat/2025-ugprade' of github.com:iammohitsakhuja/dotfil…
iammohitsakhuja Oct 3, 2025
7384289
chore(wezterm): format file according to standards
iammohitsakhuja Oct 3, 2025
d98c6f4
fix(tmux): fix tmux colors inside other terminals
iammohitsakhuja Oct 3, 2025
cf0dd08
feat(wezterm): add comprehensive configuration for wezterm; apply som…
iammohitsakhuja Oct 3, 2025
d074507
feat(neovim): add `lua` files to `nvim-colorizer`'s config
iammohitsakhuja Oct 3, 2025
0efe100
Merge branch 'feat/2025-ugprade' of github.com:iammohitsakhuja/dotfil…
iammohitsakhuja Oct 3, 2025
d1c3df4
feat(wezterm): add finder services for opening new wezterm tab/window
iammohitsakhuja Oct 4, 2025
fbd9529
chore(iterm): remove iterm installation from brewfile
iammohitsakhuja Oct 4, 2025
b1cb7ea
chore(wezterm): force `WebGpu` renderer for WezTerm; utilizes Metal A…
iammohitsakhuja Oct 4, 2025
dcc78af
feat(tmux): replace online status with network speed monitoring
iammohitsakhuja Oct 4, 2025
dc857ba
chore(iterm): remove usage of iterm related configuration
iammohitsakhuja Oct 4, 2025
eb6196d
Merge pull request #36 from iammohitsakhuja/feat/full-wezterm
iammohitsakhuja Oct 4, 2025
7592a7c
chore(claude): update `CLAUDE.md` to include docs about `WezTerm`, `A…
iammohitsakhuja Oct 4, 2025
d84064f
docs: modernize README with comprehensive setup guide
iammohitsakhuja Oct 4, 2025
d8b26aa
chore: revert claude workflows files to their `master` versions to al…
iammohitsakhuja Oct 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions .claude/commands/shellcheck-fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
argument-hint: <filename>
description: "Comprehensive shellcheck analysis and fixing workflow. Usage: /shellcheck-fix <filename>"
author: "Mohit Sakhuja"
version: "2.0"
---

# Shellcheck Fix Command

Comprehensive shellcheck analysis and fixing workflow that:

1. Applies automatic fixes first
2. Analyzes remaining issues
3. Prioritizes issues by severity
4. Creates an improvement plan
5. Implements fixes with user approval

## Instructions

Perform comprehensive shellcheck analysis and fixing workflow for the shell script `$ARGUMENTS`.

Execute the following steps in order:

**Step 1: Apply automatic shellcheck fixes**

!if [ ! -f "$ARGUMENTS" ]; then echo "❌ Error: File '$ARGUMENTS' not found"; exit 1; fi; echo "🔧 Applying automatic shellcheck fixes to $ARGUMENTS..."; shellcheck -f diff "$ARGUMENTS" > "$ARGUMENTS.patch" 2>/dev/null; if [ -s "$ARGUMENTS.patch" ]; then patch "$ARGUMENTS" < "$ARGUMENTS.patch" && echo "✅ Applied automatic fixes to $ARGUMENTS"; else echo "ℹ️ No automatic fixes available for $ARGUMENTS"; fi; rm -f "$ARGUMENTS.patch"

**Step 2: Analyze remaining issues**

Read the file contents and run shellcheck to identify any remaining issues:

!echo "🔍 Running shellcheck analysis on $ARGUMENTS..."; shellcheck "$ARGUMENTS" 2>&1 || echo "Analysis complete - will categorize issues above"

Now read the file: @$ARGUMENTS

**Step 3: Prioritize and categorize issues**

Based on the shellcheck output and file contents, categorize the remaining issues by severity:

- **🔴 Critical**: Security vulnerabilities, potential data loss, script-breaking bugs
- **🟡 Important**: Best practices violations, maintainability issues, portability concerns
- **🟢 Minor**: Style preferences, minor optimizations, cosmetic improvements

**Step 4: Create improvement plan**

Think thoroughly about the remaining issues and create a prioritized plan that explains:

- What each issue means and why it matters
- The proposed fix for each issue
- The complexity and risk of each change
- Recommended order of implementation

Present this plan to the user for approval.

**Step 5: Implement approved fixes**

After receiving user approval, implement the fixes systematically following these principles:

- **Follow shell scripting best practices**: Use proper quoting, error handling, and POSIX compliance where applicable
- **Prioritize maintainable solutions over quick fixes**: Choose readable, robust implementations that will be easy to understand and modify in the future
- Work through one priority category at a time (Critical → Important → Minor)
- Make incremental changes to maintain script functionality
- Verify each fix doesn't introduce new issues
- Provide clear explanations of changes made and why they improve the code
10 changes: 10 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"permissions": {
"allow": [
"Bash(patch:*)",
"Bash(pre-commit:*)",
"Bash(shellcheck:*)"
],
"deny": []
}
}
35 changes: 35 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

# Base settings for all files
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4

# Shell scripts (shfmt will use these settings)
[*.{sh,bash,zsh}]
indent_style = space
indent_size = 4
switch_case_indent = true

# YAML files typically use 2 spaces
[*.{yml,yaml}]
indent_size = 2

# Markdown files
[*.md]
trim_trailing_whitespace = false

# Makefiles require tabs
[Makefile]
indent_style = tab

# Go files require tabs
[*.go]
indent_style = tab
15 changes: 15 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# markdownlint configuration
# See https://github.com/markdownlint/markdownlint/blob/main/docs/RULES.md

# Disable line length rule for documentation
MD013: false

# Allow duplicate headers (common in documentation)
MD024:
siblings_only: true

# Allow raw HTML (useful for complex formatting)
MD033: false

# Allow emphasis used instead of a header
MD036: false
70 changes: 70 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
# Built-in hooks for universal validation
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
exclude: '\.patch$'
- id: end-of-file-fixer
exclude: '\.patch$'
- id: check-merge-conflict
- id: check-added-large-files
args: ["--maxkb=1000"]
- id: detect-private-key
- id: check-json
files: \.json$
- id: check-yaml
files: \.ya?ml$
- id: pretty-format-json
args: ["--autofix", "--indent=4"]
exclude: ^macos/iterm/

# Shell script linting and formatting
- repo: https://github.com/koalaman/shellcheck-precommit
rev: v0.11.0
hooks:
- id: shellcheck # Already runs in docker.
args: [--severity=style]

# Shell script formatting
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.12.0-2
hooks:
- id: shfmt-docker
# We need to provide these arguments separately from settings in `.editorconfig` simply because we require the
# `simplify` flag. There's no way to specify this flag with `.editorconfig`.
# If we provide ONLY that particular flag here, then `shfmt` ignores the rest of the config. Hence, we need to
# provide all flags individually.
args: [--write, --simplify, --indent, "4", --case-indent]

# YAML formatting (2 spaces as per .editorconfig)
- repo: https://github.com/google/yamlfmt
rev: v0.13.0
hooks:
- id: yamlfmt
args: ["-formatter", "indent=2,retain_line_breaks=true"]

# Lua formatting (uses .stylua.toml configuration)
- repo: https://github.com/JohnnyMorganz/StyLua
rev: v2.2.0
hooks:
- id: stylua-system

# Markdown linting
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.45.0
hooks:
- id: markdownlint-docker
args: ["--fix"]

exclude: |
(?x)^(
macos/themes/.*\.itermcolors|
macos/themes/.*\.terminal|
macos/iterm/.*\.plist|
macos/utils/terminfo/.*\.terminfo|
macos/utils/automator/.*\.workflow/.*|
\.git/.*
)$
24 changes: 24 additions & 0 deletions .shellcheckrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# vim: ft=conf
# ShellCheck configuration file
# See https://github.com/koalaman/shellcheck/wiki/Ignore for explanations

# Disable specific warnings that are often false positives or overly strict
disable=SC1091 # Not following sourced files (often external files)
disable=SC2034 # Variable appears unused (may be used in sourced files)
disable=SC2059 # Don't use variables in printf format strings (sometimes intentional)
disable=SC2086 # Double quote to prevent globbing and word splitting (sometimes intentional)
disable=SC2154 # Variable is referenced but not assigned (may be from environment)
disable=SC2155 # Declare and assign separately to avoid masking return values (sometimes intentional or acceptable)
disable=SC2312 # Invoke the command separately to avoid masking its return value (sometimes intentional or acceptable)

# Enable all optional checks
enable=all

# Detect shell
shell=auto

# Set severity level (error, warning, info, style)
severity=style

# External sources to follow (add paths to commonly sourced files)
source-path=SCRIPTDIR
6 changes: 6 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"recommendations": [
"timonwong.shellcheck",
"editorconfig.editorconfig"
]
}
Loading