See the minimal directory for minimal dotfiles (< 100 lines) that can easily be copied to a remote host.
On Mac, install Homebrew:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run brew bundle which will install the packages listed in Brewfile
- ag (the_silver_searcher) - fast file search; like
grepandackbut faster - jq - JSON processor tool (useful for processing JSON in Bash scripts)
- fzf - command-line fuzzy finder
- asdf - runtime version manager for various languages (ruby, node, scala, etc)
Windows tools:
macOS tools:
- iTerm2 - much better than the stock Terminal.app; supports Tmux integration
- Karabiner-Elements
- See
mac/karabinerdirectory for setting up a compose key on macOS
- See
vim / neovim
Neovim is a modern vim replacement. See the .config/nvim directory for my neovim config.
Plugins are handled by lazy.nvim which should be install and update itself automatically.
Bring up the Lazy UI using :Lazy or <Space>I.
If you want to start your own neovim config, I would recommend starting off with some minimal templates like and adding onto to it incrementally:
- nvim-lua/kickstart.nvim - lua-based, neovim-only config that uses lazy.nvim
- theopn/kickstart.vim - vimscript version of kickstart.nvim that uses Plug
- rstacruz/vim-from-scratch for regular Vim (repo is deprecated but still useful to see for how VimScript works)
There are also a lot of distros like LazyVim, LunarVim, NvChad that come with a much more IDE-like setup out of the box; these are useful for inspiration for plugins but I would not recommend starting off with these.