Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
How does that work? Let’s say I’m on pop os developing a thing, how would I manage deps and dev envs with nix then? In a VM or what?
I’m a Linux nerd, but I totally don’t get nix. Tried to install some nix package manager on my Debian based distro and it was completely broken (the nix thing, not my os)
I um… didn’t get started yet.
But a colleague demoed it to my and it’s kind of between virtual environments and containers, if you’re familiar with Python.
You write a Nix config and specify exactly which versions of which package you want to have. Reproducibility is the main selling point of Nix. Things don’t just break overnight because a dependency of a dependency of a dependency got upgraded. You can always go back to exactly what it was like before. Guaranteed. That’s pretty cool.
Ok so you got that config, then you build and activate it, and it replaces your shell. You enter the Nix shell. You still have access to all your files and directories, but your Nix config controls exactly which versions of your tools you have. gcc, npm, python, maven, whatever you use.
You can see why this makes people want to build an immutable OS.
The main drawback of Nix is that it has a bit of a learning curve. Hence why I haven’t started yet. Maybe it’s time though.
How does that work? Let’s say I’m on pop os developing a thing, how would I manage deps and dev envs with nix then? In a VM or what?
I’m a Linux nerd, but I totally don’t get nix. Tried to install some nix package manager on my Debian based distro and it was completely broken (the nix thing, not my os)
I um… didn’t get started yet. But a colleague demoed it to my and it’s kind of between virtual environments and containers, if you’re familiar with Python.
You write a Nix config and specify exactly which versions of which package you want to have. Reproducibility is the main selling point of Nix. Things don’t just break overnight because a dependency of a dependency of a dependency got upgraded. You can always go back to exactly what it was like before. Guaranteed. That’s pretty cool.
Ok so you got that config, then you build and activate it, and it replaces your shell. You enter the Nix shell. You still have access to all your files and directories, but your Nix config controls exactly which versions of your tools you have. gcc, npm, python, maven, whatever you use.
You can see why this makes people want to build an immutable OS.
The main drawback of Nix is that it has a bit of a learning curve. Hence why I haven’t started yet. Maybe it’s time though.