Chezmoi can do conditional templating on config files, which is super nice.

But it's always better when the application itself is cross platform and uses just a single config file.

(Just setting all of the knobs on macOS is a massive hassle and only part of them can be automated in a deterministic way...)

It's about time I started using a dotfile manager that I didn't make entirely myself - thanks for the recommendation.

For more and more of the cross-platform headaches, I've actually found myself treating the OS as more of a virtual host, and spending the plurality of my time configuring layers that run in it (modify .zshrc where it can do the work of iterm/wezterm, if it can be done in .emacs then do it there).

I get the feeling that I'm not far off shipping personal nix containers around, but there's still a little too much friction between having containers work and working on the OS itself.