| I don't mind configuring my tools to work for me. For example I'm a polyglot, inevitably I work with a lot of tools, IDEs, and programs. I've rigged everything so I have a lot of continuity; and context switching isn't a nightmare. For some I use VSCode, IntelliJ, Micro or others. They all have similar(ish) shortcuts. It means I can transition so much quicker without grinding my teeth. My point is, I don't mind configuring my tools. What I do mind, is having ease of transfer between environments, so that my configuration comes with me. I love IntelliJ's config to cloud, it somewhat just works. It allows me to change something on the work laptop that will apply at night on my home machines. VSCode does the same now (it used to require a plugin and github). Micro and other tools use a ~/.config/subfolder which also works, I use git to pass stuff around various computers, with various degrees of success. My .zhsrc / .profile is carried around and I have all my 2-3 letters aliases that do complex things, so I don't need to remember everything. This is a powerful way to be very productive very easily. And if you forgot how it works, just read the file. The amount of time where I saw a senior professional waste time re-googling the same thing over, or fumbling around their shell history has boggled my mind. ref. [1]* If you're a professional, chances are you're going to cart your configs and settings with you for many years to come. So make it as portable as possible. Even my lazygit is configured. One time, I got a new job, I left it as default... and forced push changes by mistake (because it's not turned off by default and very easy to fat finger it), and that caused a lot of grief. So be careful about acting proud in being 'zero config'. I'd recommend being efficient, not a purist in search of minimalism. It also shields you from upstream software changing their default on a whim. [1] https://xkcd.com/1205/ |
Among other great features, it lets me tailor settings per OS (Windows, Mac, Linux) and per client. And my settings are all in git, so they’re easy to save and copy around, and they’re all in one place, not dependent on each tool to know how to save their settings on some server.