I’m on 26.05. That is the latest stable branch, right?
I also run nix flake update daily to keep my applications updated. Maybe that’s part of my problem and not the recommended way to use the stable branch. If stable NixOS is intended to be used differently, that’s also something I’d like to understand.
I’m using KDE on Wayland, and several times I’ve had freezes or crashes around the lock screen, waking from sleep, etc.
The most annoying case for me was a cloud-folder application. A newer upstream version was available that fixed crashes I was seeing, but I couldn’t update to it easily because that version wasn’t available in my nixpkgs branch yet.
That’s the part I’m trying to understand.
Why couldn’t we have an additional layer where I can declare something conceptually like:
some-app = "latest"
some-other-app = "3.2.1"
another-app = "release"
while Nix still locks the exact source, hashes and dependencies afterward?
Something similar in spirit to package.json + package-lock.json.
Then a small upstream company could release version 3.2.2 without having to care about updating nixpkgs itself. A user who explicitly wants a version that isn’t in nixpkgs could simply request 3.2.2.
Nixpkgs would still contain the curated version selected for the stable release.
The main idea is to keep nixpkgs as the huge trusted catalog of applications, but allow each user to select another upstream version when they need it, without requiring that version to already exist in nixpkgs.
Maybe there could even be an optional way for users to report which locked versions they’re successfully using. That could help the Nix community discover which newer versions are widely used before promoting them into nixpkgs.
I’m not suggesting replacing nixpkgs. Quite the opposite: I would keep nixpkgs as the trusted, curated tree.
This could also reduce the number of simple version-bump PRs and let maintainers focus more on which versions should actually be considered stable for a NixOS release.
It also occurred to me that packages could potentially have different stability expectations.
For system components, I actually prefer old and boring over new and occasionally broken. I’d rather have an older lock screen that works every single time than a newer one that randomly breaks after 5–10 locks.