Anytime I “need” a more Linux environment (development, etc), I would default to spinning up a Linux VM or Docker container. Like you, I think it’s easier to just use the real thing. Also, I don’t like to install too much with brew, etc as I like to keep my primary computer as stock as possible. I still worry about library conflicts. This way, I have a better UI for non-dev work, but I still get the full *nix command line experience when I want it.
Anymore though, instead of a VM, I end up SSHing to a cloud server. Tools that can be run from the server (vscode, rstudio, etc) make this even easier as I can use the same interface from multiple computers.