-
-
Notifications
You must be signed in to change notification settings - Fork 270
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
Learning Journey tutorial - pinning nixpkgs #580
Comments
@roberth assigned to you for feedback |
Pinning is somewhat of a rabbit hole, which doesn't seem super productive when it appears that most of the community is converging on flakes. I'd almost say the title should be "First steps tutorial - not pinning nixpkgs". It's just not a beginner friendly topic. We should explain somewhere where |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2023-07-13-learning-journey-working-group-meeting-notes-17/30393/1 |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2023-07-17-tutorial-series-call-for-feedback/30616/1 |
@infinisil I disagree with the scope, as there is no description of how to "keep dependencies fixed" with "what stuff might break" for folks coming from language package managers.
|
@matu3ba the purpose of this tutorial would be to introduce new users to the whole notion of being able to pin down remote sources, and provide a known-good default procedure on how to do it that won't run them into trouble long enough to get proficient with the system and solve problems on their own. Overlays and global configuration are orthogonal to this and should primarily be expanded upon in the reference documentation rather than here, and treated in an overview-style manner here, again to introduce the notion and a rough but sustainable mental model or basic patterns to work with. The runtime introspection is way to deep for nix.dev to handle at this time, it should go to a more appropriate place such as the Nixpkgs manual. |
Closing this, since most of the original questions are by now answered in the Nix manual, and IMO pinning should - just like installation - not be something one has to think or even know about. Alas, we may be arbitrarily far away from that, so in the mean time let's just reflect the state of affairs: #907 |
There are various levels of reproducibility in Nix and it may be surprising that a build could fail after some period of time because nixpkgs has evolved over time. In this tutorial we introduce the idea that packages have to come from somewhere and that we can accept different levels of reproducibility.
Tutorial contents
<nixpkgs>
?NIX_PATH
point?unstable
.How
Open questions
nix-build
can trigger a full rebuild due to nixpkgs changing, which can be surprising. Should we use this as a motivating example for pinning nixpkgs? If you pin to a specific revision you'll never need to rebuild given that your source doesn't change?The text was updated successfully, but these errors were encountered: