How do I know when a new release has been released

Hi. I recently distrohopped (again), this time landing on NixOS. I am liking the experience up till now. However, a few things are bugging me: 1. I believe the distro follow a 6month release schedule, how can I get to know when the new version is out so that I can use the upgrade command? 2. Do I need to edit my configuration? Do I need to update my configuration.nix everytime I wish to install a new package? 3. The current release of python is 3.14, which is downloadable as python314, when python3.15 is released, would I have to do something different or the upgrade tool will take care of it?

Greetings, welcome to Nix! :snowflake:

Personally, I frequently visit https://search.nixos.org/ where you can always see the current stable channel (the version nixpkgs repository and subsequently the version of NixOS).

Yes. That’s the whole point of Nix. Personally, I’ve set up an alias called cfg-open and cfg-rebuild where one opens the /nix/nixos directory in VS Code and the other one calls sudo nixos-rebuild switch.

I also chowned a /nix/nixos to my current user since other suggested solutions for managing configuration.nix involve moving the directory into $HOME. Might as well just keep in at the default location and simply chown it. I guess you could also just run VS Code as root, although I don’t think this is very safe if you have any extensions.

Alternatively you can install the desired package temporarily with nix-shell -p <pkgname>.

Just please avoid using nix-env. You can read online why is it bad. Most of the time nix-shell is more than enough since after the package was downloaded, it then will be cached and available immediately (until you run the garbage collector).

If you specifically install python314, I assume it will always stay at 3.14. Instead you could install python3. Currently it defaults to 3.12, but I assume it will later install something newer. And upgrade tool should update it if when it changes from 3.12 to something newer.

But! While it’s possible to install development packages like this, I instead encourage you to use different development shells for each project. That way all development packages would be isolated to each specific project.

This way you would avoid version conflicts where one of your projects needs libfoo.so.0.2.0 while the one needs libfoo.so.1.5.0.

1 Like

development shells sound like the solutions to a lot of my pet peeves, lol.

1 Like