Which dotfiles (e.g. .bashrc, .vimrc) do you actually customize/depend on for your daily dev machine setup?

lostintangent profile image Jonathan Carter ・1 min read

As a follow-up to this discussion, I’m curious to learn exactly which dotfiles (user-specific application config) folks actually customize, and more importantly, rely on, as part of their daily dev machine setup.

For example, if you bought a new computer tomorrow, what would you immediately notice feels inefficient? Subsequently, what would be the first config files you would create in order to enable your “flow“?

Is it primarily just setting aliases and env vars for your shell (via a .bashrc/.zshrc/etc. file)? Maybe your editor and Git settings (e.g. .vimrc, .gitconfig)? Something else?

Posted on by:

lostintangent profile

Jonathan Carter


I build developer tools and services at Microsoft (currently VS Online, Live Share, IntelliCode, and Playwright, previously CodePush, IE Dev Tools, Visual Studio, Azure).


markdown guide

Without looking at my dotfiles, the first thing id miss is my gpg/ssh config since I use my Yubikey for all SSH and git interactions. This combined with my git config should at least let me pull code and get going.

Then I'd probably want my vim config. I wouldn't be able to code for too long in totally plain vim I don't think, I like vim for it's plugins and configuration and without those I'd feel lost.

Finally my bash profile, cause I do love all my dotfiles aliases!

That would get me productive, throw in my bash_prompt and I'll feel right at home

As I went I'd probably find different tools I didn't have installed, and then I'd want to reach for my Brewfile which contains all the tools I usually install

Off the top of my head that's what I think I'd miss most, in the order I'd want them. But I'm probably missing something that when I check out my dotfiles I wouldn't want to be without 😆

My dotfiles for reference: github.com/coreyja/dotfiles


Although I'm on Windows I have a bunch of dot files in my home directory that are used by GitBash.

I have a handful of git aliases that I can't not type anymore, so I would at least need those.

I have a bash function vs that opens all Visual Studio sln files in a directory with Visual Studio. I love that thing so much 🥰.

cd into my repo directory and then type vs -> enter ... Bam, my solution(s) is open in front of me.


Definitely my .zshrc file. I couldn't survive without all my aliases. Close second would be my .vimrc. Followed by .tmux.conf


Thanks! Do you use Vim are your primary editor? And that’s why you’d rely on its config being present?


At the moment I do. I used Sublime and then VSCode before. Both with Vim key bindings.

I had trouble getting Vim configured to my liking so I always went back to a graphical editor. But kept the keybindings because they make me feel super-human 😄

This time switched to neovim and decided to build up my config as I ran into pain points. I love being able to fully customize every aspect of the editor despite having to use vimscript yo do it.


First thing is getting my .vimrc set up so I can feel comfortable editing my other dot files. Check it out here:

Then it is probably onto my .zshrc and getting my git aliases set up.



I use github.com/alichtman/shallow-backup to create backup (based on a python script) of all my custom configs in a git repository (dotfiles, brew packages etc.). My dotfiles are essentially .zshrc or .gitconfig and .shallow-backup


.gitginore is the obvious one. .bashrc for aliases and PATHs I use all the time (Laravel and Composer stuff, mainly), along with loading keychain for loading SSH keys. .nanorc for when I need to make a quick edit and don't want to open Sublime.


git, vim, & shell aliases


For other tools I use (IDEs, iTerm) I don't save those configurations


.zshrc/.bashrc/.nprc and .vimrc


Oh, and since I'm slowly switching from Homebrew to Nix anything related to that too.