• F04118F@feddit.nl
    link
    fedilink
    arrow-up
    23
    arrow-down
    1
    ·
    4 months ago

    Don’t listen to him! Just start using Nix to manage dependencies and dev environments for your projects but keep your OS the same until you are really good at Nix

    • PlexSheep@infosec.pub
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      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)

      • 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.