https://github.com/krishkumar/dotfiles
dotfiles are good defaults (macOS, zsh, zprezto, powerline10k, spacevim, neovim, swift, lsp, kitty, ranger, copilot)
https://github.com/krishkumar/dotfiles
copilot dotfiles kitty lsp macos neovim ranger spacevim swift vim zprezto zsh
Last synced: about 2 months ago
JSON representation
dotfiles are good defaults (macOS, zsh, zprezto, powerline10k, spacevim, neovim, swift, lsp, kitty, ranger, copilot)
- Host: GitHub
- URL: https://github.com/krishkumar/dotfiles
- Owner: krishkumar
- Created: 2021-08-16T03:56:41.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-01-02T16:45:53.000Z (about 3 years ago)
- Last Synced: 2024-07-30T20:18:02.690Z (over 1 year ago)
- Topics: copilot, dotfiles, kitty, lsp, macos, neovim, ranger, spacevim, swift, vim, zprezto, zsh
- Language: Shell
- Homepage:
- Size: 9.59 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dotfiles
My personal dotfiles repository. Accumulated configuration wisdom from years of macOS development work, carefully curated and battle-tested.
This is the exact setup I use daily for building software. No aspirational configurations here, this is the real deal.
## The essentials
**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.
**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.
**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.
## What you won't find
I 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.
## Structure
Uses the "whitelist approach". The `.gitignore` blocks everything (`/*`) then explicitly includes tracked files. Prevents accidentally committing sensitive files while keeping the repository focused.
Pattern learned from [Zach Holman's dotfiles](https://github.com/holman/dotfiles) years ago. Much cleaner than maintaining an exhaustive blacklist.
## Installation
No 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.
Instead: 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.
The git configuration includes my name and email. Change those.
## Why share
I'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.
These configurations represent thousands of refinement hours. If one alias or configuration option saves you time, this repository served its purpose.