Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proposal: nixos-stable branch #266149

Closed
lizelive opened this issue Nov 7, 2023 · 16 comments
Closed

proposal: nixos-stable branch #266149

lizelive opened this issue Nov 7, 2023 · 16 comments
Labels
2.status: duplicate 6.topic: nixos 6.topic: release process significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc.

Comments

@lizelive
Copy link
Contributor

lizelive commented Nov 7, 2023

I am writing to propose the creation of a nixos-stable branch that points to the most current stable release of NixOS.

The rationale behind this request is to enhance the usability and functionality of Nix Flakes. As you may know, Nix Flakes provide a new way to manage Nix packages, allowing for reproducible, composable, and user-friendly configurations. However, the current setup does not have a straightforward way to refer to the latest stable release of NixOS.

By introducing a nixos-stable branch, users can easily refer to the latest stable release in their flake configurations. This would not only simplify the configuration process but also ensure that users are always working with the most up-to-date stable release.

I believe this change would be a valuable addition to NixOS and greatly benefit the community. I look forward to hearing your thoughts on this proposal.

@eclairevoyant
Copy link
Member

eclairevoyant commented Nov 8, 2023

If a user chooses a stable release, they expect stability. Our nixos-2x.xx branches are a promise to maintain that stability (outside of things like security fixes of course). Automatically upgrading the branch breaks that promise. In fact there are many users still using 22.11 intentionally, because for various reasons they need to upgrade on their own schedule.

Therefore I am strongly against this proposal.

If you really want the latest, use nixos-unstable, that is what it is there for.

@IogaMaster
Copy link
Contributor

I see where you are coming from, updating like a standard distro would (aka reliable stable automatic version updates without needing to change the flake input). What eclairevoyant is saying is true however, just don't update nixos/nixpkgs-unstable often and you get the same thing.

Keep this open so we can see some more opinions!
Thanks for bringing fresh ideas into nixos/nixpkgs!

@iynaix
Copy link
Contributor

iynaix commented Nov 8, 2023

I don't think a nixos-stable branch is worth all the trouble vs users manually updating a flake input once every 6 months.

@lizelive
Copy link
Contributor Author

the issue is one of security. we don't keep updating old branches with vulnerabilities, meaning it is very easy to not notice old packages being vulnerable.

@eclairevoyant
Copy link
Member

The issue is that users will get automatically shoved onto the next release, instead of choosing when to upgrade. In fact, how would these users know when the "stable" channel is getting a breaking change, and prepare for it?

@IogaMaster
Copy link
Contributor

how would these users know when the "stable" channel is getting a breaking change

When 24.06 comes around the nixos-stable branch is a mirror of nixos-24.06

@eclairevoyant
Copy link
Member

How does the user know about it?? They just get silently upgraded. And 24.06 is not a thing.

@khaneliman
Copy link
Contributor

Just my two cents... users will opt in to release cadence. It's not the rug being pulled from them. I see the use case as described, someone who doesn't want the rolling release breaking nature of unstable breaks every few days. But, wants to keep up with latest versioned release without keeping track of release dates.

@eclairevoyant
Copy link
Member

You're not opting in if you have to already know the release date anyway 😉

@IogaMaster
Copy link
Contributor

IogaMaster commented Nov 13, 2023

How does the user know about it?? They just get silently upgraded. And 24.06 is not a thing.

24.06 was an example. Users would be assumed to know the release schedule. Which is not good, as stable should be backports only.

@eclairevoyant
Copy link
Member

If the user already knows the release schedule then they know when to change their flake input, which makes this whole request pointless.

@bjornfor
Copy link
Contributor

A related thread started in 2019: https://discourse.nixos.org/t/why-is-there-no-rolling-stable-channel/3322

@IogaMaster
Copy link
Contributor

Using unstable would give you those problems on an even spread across a release cycle, using your potential “latest-release” alias would slap you straight in the face with all the problems at once exactly 2 times a year.
Usually it is easier to resolve the problems over time as they arise, rather than having to deal with all of the problems at once.

+1

@infinisil infinisil added the significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc. label Nov 16, 2023
@LunNova
Copy link
Member

LunNova commented Nov 27, 2023

Some alternative ideas to avoid accidentally using an old stable branch past its maintenance period:

  • final commit marking it past support after the branch is EoL which adds a trace/warning during evaluation?
    • would need an optout mechanism
  • warning in nixos activation script if date is too far in the future?

I think a rolling stable release branch could be useful although I don't know if my usecase is the same as @lizelive's. I run unstable but have a nixpkgs-stable input specifically for a few critical packages like firefox where stable often gets security updates faster than unstable as that branch can be stalled due to brokenness, and having it roll would make sense there.

Trying to avoid people accidentally remaining on an old version seems like a good goal but I don't expect a rolling release branch is the best solution for most users.

@bjornfor
Copy link
Contributor

warning in nixos activation script if date is too far in the future?

Coincidentally, yesterday I learned that hostnamectl already shows remaining OS support time:

$ hostnamectl 
[...]
    Operating System: NixOS 23.05 (Stoat)             
      OS Support End: Sun 2023-12-31
OS Support Remaining: 1month 2d
[...]

(I guess it knows thanks to SUPPORT_END= in /etc/os-release.)

@eclairevoyant
Copy link
Member

eclairevoyant commented Jan 20, 2024

Very similar to #20182 and a straight duplicate of #21340, closing.

@eclairevoyant eclairevoyant closed this as not planned Won't fix, can't repro, duplicate, stale Jan 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: duplicate 6.topic: nixos 6.topic: release process significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc.
Projects
None yet
Development

No branches or pull requests

9 participants