{"id":25690668,"url":"https://github.com/krishkumar/dotfiles","last_synced_at":"2026-04-09T15:47:22.994Z","repository":{"id":62770737,"uuid":"396607552","full_name":"krishkumar/dotfiles","owner":"krishkumar","description":"dotfiles are good defaults (macOS, zsh, zprezto, powerline10k, spacevim, neovim, swift, lsp, kitty, ranger, copilot)","archived":false,"fork":false,"pushed_at":"2023-01-02T16:45:53.000Z","size":10055,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-07-30T20:18:02.690Z","etag":null,"topics":["copilot","dotfiles","kitty","lsp","macos","neovim","ranger","spacevim","swift","vim","zprezto","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krishkumar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-16T03:56:41.000Z","updated_at":"2023-11-07T12:57:59.000Z","dependencies_parsed_at":"2023-02-01T03:31:18.735Z","dependency_job_id":null,"html_url":"https://github.com/krishkumar/dotfiles","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishkumar%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishkumar%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishkumar%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishkumar%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krishkumar","download_url":"https://codeload.github.com/krishkumar/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240571032,"owners_count":19822413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["copilot","dotfiles","kitty","lsp","macos","neovim","ranger","spacevim","swift","vim","zprezto","zsh"],"created_at":"2025-02-24T22:50:44.706Z","updated_at":"2025-12-30T19:15:10.702Z","avatar_url":"https://github.com/krishkumar.png","language":"Shell","readme":"# dotfiles\n\nMy personal dotfiles repository. Accumulated configuration wisdom from years of macOS development work, carefully curated and battle-tested.\n\nThis is the exact setup I use daily for building software. No aspirational configurations here, this is the real deal.\n\n## The essentials\n\n**Shell configuration**: Switched from bash to zsh years ago, never looked back. The `.zshrc` includes Starship prompt integration (git status without the oh-my-zsh performance hit), extensive history configuration that works as expected, auto-suggestions that feel magical.\n\n**Git integration**: The `.gitconfig` contains aliases accumulated over years of usage. Some obvious (`co` for `checkout`), others workflow-specific. The `.gitexcludes` handles global ignore patterns like `.DS_Store`, misplaced node_modules.\n\n**Development environment**: The `.exports` file handles environment variables and PATH configuration. Setup gracefully loads additional dotfiles (`.path`, `.functions`, `.extra`, `.git_aliases`) if they exist. Nice modular approach.\n\n## What you won't find\n\nI exclude the `.config/` directory. While my nvim configuration is sophisticated (LSP integration, tree-sitter), those configurations are highly personal and change frequently. This repository focuses on foundational shell and git setup that remains stable.\n\n## Structure\n\nUses the \"whitelist approach\". The `.gitignore` blocks everything (`/*`) then explicitly includes tracked files. Prevents accidentally committing sensitive files while keeping the repository focused.\n\nPattern learned from [Zach Holman's dotfiles](https://github.com/holman/dotfiles) years ago. Much cleaner than maintaining an exhaustive blacklist.\n\n## Installation\n\nNo automated installer script. Blindly running someone else's dotfile installer is disaster-prone. You end up with configurations you don't understand, changes you can't debug.\n\nInstead: examine each file individually and cherry-pick what makes sense for your workflow. Shell configuration assumes Starship is installed (`brew install starship`). Zsh setup requires zsh-autosuggestions and zsh-history-substring-search from Homebrew.\n\nThe git configuration includes my name and email. Change those.\n\n## Why share\n\nI've learned more from reading other developers' dotfiles than almost any other source. Something uniquely valuable about seeing actual tools and shortcuts productive developers rely on daily.\n\nThese configurations represent thousands of refinement hours. If one alias or configuration option saves you time, this repository served its purpose.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishkumar%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrishkumar%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishkumar%2Fdotfiles/lists"}