summaryrefslogtreecommitdiff
path: root/default.nix
AgeCommit message (Collapse)Author
2025-10-29default.nix: fix typoWolfgang Walther
2025-08-22lib/minfeatures: init from minver.nixWolfgang Walther
The concept of having a "minimum supported Nix version" doesn't work anymore today, for the following reasons: - With multiple forks / implementations of Nix available, their feature sets and versions will differ. We'd need *multiple* minimum versions, one for each implementation. - Lix does not expose its real version. It only reports "2.18.3-lix", even though its real version is in the 2.90+ range. - A minimum version has the expectation that it could be *raised* in the future. That's not possible with Lix, because Lix will always and forever report the above version. - A minimum version has the expectation that *all* versions bigger than the minimum are supported. That was already quite a stretch when minver was 2.3 and none of the Nix versions between 2.4 and 2.23 were packed anymore. But it's impossible for us to test all these non-LTS versions anyway: We don't have Nix 2.18, 2.19, 2.20, 2.21, 2.22, 2.23, 2.25, 2.26 and 2.27 available in Nixpkgs at the time of this writing. With their policy around `builtins.nixVersion`, Lix forces our hand: We need to replace minver.nix with a "feature detection" mechanism. This PR introduces the first two features: - The availability of `builtins.nixVersion`: If this is not available, the version of Nix is so old, that we surely don't support it anymore. - The value of `builtins.nixVersion` being greater or equal to 2.18. Note, that this does **not** imply support for Nix 2.18. Instead, explicitly supported versions of Lix and Nix are only these that we actually test against. If, eventually, we realize that the supported versions have advanced and Nixpkgs has adopted a feature only available in newer versions, we will have to add a feature check for this. Put differently: The list of features in `minfeatures.nix` is not expected to be complete. It's a list of known-to-be-bad conditions that will cause problems when evaluating Nixpkgs. Their only purpose is to be able to show a helpful error message. Some other versions might also not be supported, but might fail with more subtle errors. That's just reality and has always been the case previously as well.
2025-08-21default.nix: say which old Nix version is being usedJade Lovelace
We are hitting a long tail of problems at work related to old nix-direnv sneaking old nix versions in that would be fixed by https://github.com/nix-community/nix-direnv/pull/513, except that the issue is that nix-direnv itself is too old. It would at least be very helpful to print out *what* ancient nix version is at fault.
2024-12-10treewide: format all inactive Nix filesSilvan Mosberger
After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \ --argstr baseRev b32a0943687d2a5094a6d92f25a4b6e16a76b5b7 result/bin/apply-formatting $NIXPKGS_PATH
2020-09-11docs: add -L to remaining curl install commandslf-
2018-10-08Fix local path to release notes in error messageThomas Tuegel
The error message when produced when Nix is too old refers the user to a local copy of the NixOS release notes, but the provided path is incorrect.
2018-08-30Reference a local copy of the release notes in the 'version too old' ↵Graham Christensen
warning, plus a redirect to the support links
2018-08-30Reference release notes in the 'version too old' warningGraham Christensen
2018-06-25Update message to reflect nix 2.0 availability of imperative nix-update (#36123)leenaars
2017-03-18default.nix: Provide correct instructions how to upgrade NixTuomas Tynkkynen
Supersedes #17631.
2016-07-14Separate fix-point from config importing hacks and other impuritiesJohn Ericson
2016-03-20Extract the top-level logic out of all-packages.nix into ↵Nicolas B. Pierron
pkgs/top-level/default.nix
2015-11-26Expose minimum required Nix version.Rommel M. Martinez
2015-10-15Bump minimum required Nix versionEelco Dolstra
Issue #10337.
2015-01-21if we abort with too old Nix, hint docsDomen Kožar
2015-01-13Revert "Revert "mkOverridable: Use functors to allow overridable functions""Shea Levy
Original commit was reverted due to using features from a newer nix than hydra had, hydra has since been updated This reverts commit 07e726c85c8f36d3a27fb7254f09ac69c7b94c65.
2015-01-13Revert "mkOverridable: Use functors to allow overridable functions"Rob Vermaas
This reverts commit 4ee556cfe9528a321f4a3746ca83f97feacf500e.
2015-01-09mkOverridable: Use functors to allow overridable functionsShea Levy
2014-09-04require Nix 1.7 for nixpkgs, since we're using antiquotation inside quoted ↵Domen Kožar
attribute sets
2014-03-17Explicitly require Nix 1.6Eelco Dolstra
People using Nix < 1.6 previously got an unhelpful "infinite recursion" error.
2007-04-26* For convenience, provide a top-level Nix expression that simplyEelco Dolstra
imports all-packages.nix. svn path=/nixpkgs/trunk/; revision=8610