Hey all, thought this might be of interest to some here.

Wrote about why I moved from NixOS to Ubuntu after using it for several months on my daily driver. Suspect that this take is likely to be kind of controversial and court claims of skill issues, which might even be true.

Let me know what you think.

  • mortalic@lemmy.world
    link
    fedilink
    arrow-up
    23
    arrow-down
    2
    ·
    7 months ago

    I didn’t realize pip and venv didn’t work… that’s a pretty big deal breaker for a lot of people, myself included.

    • Faresh@lemmy.ml
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      1
      ·
      7 months ago

      I’m not a Nix user, but doesn’t Nix make both pip and venv obsolete in a way? Nix is a package manager (which could be used to package anything including Python packages/modules) and also allows you to create environments that include only certain packages of certain versions.

      • fd93@programming.devOP
        link
        fedilink
        arrow-up
        16
        arrow-down
        3
        ·
        7 months ago

        Sounds good in theory, until you want to install scikit-image or other Python libraries which need complex builds.

        • Corbin@programming.dev
          link
          fedilink
          English
          arrow-up
          9
          ·
          7 months ago

          python3Packages.scikit-image appears to be available and non-broken in nixpkgs; on my machine, I get /nix/store/w8681ncsw92cn4gq6gyraw4z19r0r6c3-python3.11-scikit-image-0.21.0. Do you have an actual example?

          I understand your point, but given nixpkgs’ position in the community, it might be a moot point.

    • frozencow@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      7 months ago

      pip and venv are working, but packages that require compiling or ship binaries by itself usually won’t work out of the box. They depend on gcc or libopenssl to be globally available: the whole gist of Nix not doing 😅

      I’ve found devenv.sh to be most convenient way to handle such projects. You can define the dependencies for a project. It has explicit python/venv/requirements.txt/poetry support. It works for NixOS, but also other distros and MacOS. Very convenient to share and lock development tools and libraries across a team.