Inspired by Mitchell Hashimoto's VMWare setup[0]. I setup my own computer in such a way, I now have the best of both worlds. Developing on a linux machine, where I can control everything if I wanted (down to the OS) and the ease of Notes/iMessages whenever I need it.
Window management is a pita because of internal APIs and the fact that Apple doesn't cater to people that actually care about these tools. Check out Yabai[1] which btw requires you to disable SIP (System Integrity Protection) if you want to use its full potential.
Instead you can run NixOS and choose your favourite window/tiling manager (i3).
Package manager: I still run Nix but I am not that happy with it. Either I need to spend some more time or look for an alternative. One of the problems is the ability to easily pin older versions.
[0] - https://www.youtube.com/watch?v=ubDMLoWz76U&t=359s&ab_channe... [1] - https://github.com/koekeishiya/yabai