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

nixUnstable: rename to nix-unstable #30880

Merged
merged 1 commit into from Nov 3, 2017
Merged

Conversation

orivej
Copy link
Contributor

@orivej orivej commented Oct 27, 2017

@edolstra @shlevy The fact that nixStable and nixUnstable are both named nix confuses users of nixpkgs who do selective updates: they always see e.g. nix-1.11.8 < 1.12pre5619_346aeee1 in nix-env -qc and never update it: #30834 (another report in IRC). Could we rename unstable Nix to nix-unstable?

@FRidh
Copy link
Member

FRidh commented Oct 28, 2017

That would be better inline with the guidelines:

If a package is not a release but a commit from a repository, then the version part of the name must be the date of that (fetched) commit. The date must be in "YYYY-MM-DD" format. Also append "unstable" to the name - e.g., "pkgname-unstable-2014-09-23".

@shlevy
Copy link
Member

shlevy commented Oct 28, 2017

IMO we should just fix our tools (nix-env -qc) rather than give the package an incorrect name.

@domenkozar
Copy link
Member

Ironically that will only be fixed in 1.12 and experimental :)

@FRidh FRidh merged commit 2c822b1 into NixOS:staging Nov 3, 2017
@FRidh
Copy link
Member

FRidh commented Nov 3, 2017

Merging, since people experience #30834. We can always revert as soon as everyone is on 1.12+

@orivej
Copy link
Contributor Author

orivej commented Nov 3, 2017

This is good because more people will likely update nix, but also @dezgeg has restored the compatibility of bcc with old nix in #31179.

@ScottFreeCode
Copy link

For what it's worth, as a user who really likes the ideas of isolation and reproducibility involved in Nix (e.g. being able to roll back pretty much anything and easily uninstall if need be) but doesn't know much about how it actually works beyond the conceptual "treat package builds as pure functions"*, I'd love to see some way to choose both:

  • Whether nix-env -q includes or does not include pre-releases (which may be inappropriate for unstable versions of packages but do have their place in my experience), and
  • Whether nix-env -q shows the altogether latest version of a package or the latest within some range such as "semver major" (e.g. with NodeJS I am on the 8.x.y long-term support line for now and would like to see new releases of that version while ignoring the 9.x.y line until I'm ready for the bleeding edge)

But I'll admit to having a vague impression that even using the imperative CLI API on other OSes (e.g. Mac) the installed packages might be in some kind of "expression file" that I haven't yet looked for to see if I can specify version ranges (which would resolve the second use case)...

In the meantime, I came up with a workaround for the pre-release versions: nix-env -qc && nix-env -qc | grep pre | sed 's/[-0-9.]*[[:space:]].*pre.*//' | xargs nix-env -qa in place of nix-env -qc. Not pretty, but effective for that particular case!

*(Seriously, though, big shout out to everyone who's made Nix happen. The difficulty of being sure of what packages are doing in other systems has been a pet peeve of mine for years, and it's always fantastic discovering people already working with solutions to problems like that!)

@orivej orivej deleted the nix-unstable branch November 13, 2017 00:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants