Usually, I prefer manually installing the packages needed for getting started with a new language or technlogy.

I avoid using distro package managers since they tend to be a bit outdated in this regard, and specialised package managers like SDKMAN! seem overkill for one or more packages. Exceptions being languages with excellent tooling and version management like Rust or Ocaml.

I’ve been doing this for a while and was wondering what the general consensus is

Edit: Thanks for your replies everyone! I’ve decided to stick with my distro package manager.

  • sloppy_diffuser
    link
    fedilink
    English
    arrow-up
    9
    ·
    9 months ago

    I use Nix, even on my Ubuntu machines, to install tooling in my user profile.

    Nixpkgs unstable stays pretty up to date. The few I want something on release day or bleeding edge nightlies, I override the derivation source. I use nvfetcher to pull the latest release or head of the default branch as part of my update routine.

    I’m pretty new to Nix, so its been slow integrating into my workflow, but I plan to start integrating flake’s into my repos. My team seems to have constant issues with keeping their tooling up to date which breaks things locally from time to time.

    • brian@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      one more for using nix, but for language tooling I generally prefer a nix shell and installing per project dependencies there. then updates don’t break random projects and you know all the dependencies of a given project