I used to have Linuxbrew for installing packages (git, gcc, etc), and a non-GUI chroot through crouton, which I used for anything that wouldn't build using Linuxbrew's toolchain.
However, a few weeks ago Linuxbrew completely broke for me, so I decided to try something new, and instead of reinstalling it I got Nix (the package manager from NixOS) working via proot.
Nix's toolchain pretty does everything I need so I haven't had the need to run crouton anymore. I also run Docker containers via rkt.
Finally, I tweaked the crosh command so it opens a shell directly without having to type 'shell'. I know it might be somewhat picky, but when you're constantly firing up new terminals it can become a bit of a PITA. :)
If anyone's interested I can post some links for reference, or maybe even do a writeup.