• F04118F@feddit.nl
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    4 months ago

    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.