But irrelevant in this case. I dev on macOS. I’m not aware of any other options.
> It’s not any different
It's very different. With docker on Mac you're running a VM which runs a wrapped up complete system that runs your app.
With selinux/sandbox-exec you run just your app and can skip the extra packaging needed for docker and mounts. (And get the extra performance)
If you're happy with firejail, make sure you use whitelists only and you'll be 90% there with what's possible to achieve.
The "just use Nix" people are just like the "write it in Rust" brigade.
And the things both groups promote share exactly the same problem ...
A stupidly enormous learning curve.
That's why your average person prefers to just the job done in a container vs Nix, or in Go vs Rust.
I'm sure Nix is awesome, just like I'm sure Rust is awesome. But honestly, I've got enough going on in my brain at $work and $home without having to wrangle some obscure config syntax (Nix) or obscure low-level language complexities (e.g. Rust's infamous borrow-checker).
Every time I go back and look at Rust or Nix my brain is just like .... no, thanks.
THIS !
Go's well maintained stdlib just lets me get on with it.
With Rust meanwhile, I have to decide which of thousands of third-party Rust crates is sufficiently en-vogue and well maintained.
Most of my coding work is backend stuff that calls a lot of HTTP APIs, parses a lot of JSON and does a lot of crypto. All that is ready-to-go "out of the box" with Go stdlib and on top of that is faster to get to production in Go than in Rust.
I don't need or want Rust's complexity. As I said I have enough going on at $work...
Nix similarly forced issues to be reasoned with upfront.
It's similar to the Rust situation in that many Rust programmers are simply tired C++ programmers fed-up with using Valgrind and Cmake. Nix is the retirement-home for people who clean up package pollution and just want stability at any cost.
“Can I tell you about our lord and saviour Nix?”
Kidding, but seriously though I’ve found having to work in a container to be a bit clumsy, even with good tooling around it. As you said it’s 2025, and there are other ways to have reproducible toolchains that don’t pollute the rest of your system environment Nix or otherwise.