Emacs and shellcheck
amitp.blogspot.com
amitp.blogspot.com
Compare dead sibling’s recommendation[1] to the submission to understand what Emacs users mean when we talk about Emacs being easier to customize than the alternatives. VS Code is well and good for what it is, but it’s not a hacker’s editor.
Also, adding evil mode won't address half of my requirements for a baseline Emacs experience. There are performance optimizations in Doom that I wouldn't otherwise have known to put in my own configuration. I'm grateful there are people who are taking care of such details for users like me.
Normally, I avoid configuration frameworks. I don't use them in tmux, vim, or zsh. But Doom was the first configuration framework that I enjoyed using.
[1]: https://github.com/doomemacs/doomemacs/blob/master/early-ini...
Also, there are loads of people who need the things you found questionable or unnecessary. Including myself. I use modules for purposes other than adding support for new languages. But for language support, I sometimes need much more than just the first language server and syntax files that came up in a search result. The performance optimization you found questionable is an absolute must, too. Running "doom sync" to apply changes to configuration is a non-issue if that means faster startup.
Doom Emacs' config loads faster than my hand-rolled one did.
So in that sense, with Doom I get a smaller config to maintain, for something that loads faster, while still having a rich/coherent set of features for the stuff I do bump into.
Having browsed the Doom config sources the other day, they put a lot of effort to minimize startup time; there are various trick there that tune Emacs itself to start faster, and can be copied over to one's own vanilla config :).
So the advantage of having someone else optimise a config is lost because most effort is spent supporting tons of optional packages. Meanwhile my hand written config is the definition of opinionated.
I still prefer it over flycheck personally cause from the compilation buffer you can quickly run through the errors and press "d" to add the disable meta comments to the source.
I wonder if such a thing already exists...
Yea, definitely, people have wasted a lot time searching for the proper disables in all the different tools.
winget install shellcheck shfmt
brew install shellcheck shfmtThe wrappers also work well with CI systems if you want to enforce the pre-commit hooks in PRs.
Another advantage is that everyone interacting with the repo will be using the same versions of the tools.
If you're not using these tools with pre-commit, then sure, install them directly via your package manager of choice.
I was doing tons of small mistakes, bashisms, linuxisms, and other common avoidable mistakes.