When digging in some issues, one sometimes encounters abbreviations that are specific to nix and nixpkgs. These are a bit hard to understand for newcomers, so I wanted to start a thread where we can collect them (if something like this doesn’t yet exist elsewhere). When it stabilizes, we can port it to a wiki page. Here are some I’ve encountered recently, and thought that they are not immediately accessible for beginners:
- FOD: Fixed output derivation
- IFD: Import from derivation
- ZHF: Zero hydra failures
I’m sure you’ll have encountered other abbreviations and slang words. Let me know
Maybe we have some page or post where these concepts are explained, so people can learn what they mean and why they are important.
Great idea. It probably makes sense to explain specifically what each of these means/link to appropriate documentation since this is intended for beginners.
I have seen a couple approaches in the Rust world to reference:
I’m broadening the scope too for absolute beginners in packaging software
- package, package manager
- functional, functional programming
I found the unstable nix manual has a glossary!
This is the source markdown: https://github.com/NixOS/nix/blob/e6795c43504b763a03b21dccd6814b8703af357e/doc/manual/src/glossary.md
This means nothing to new people. In short it’s the process of obtaining the sha sum of a fetcher (e.g. fetchFromGitHub) by first using lib.fakeSha256 and then copying the correct hash from the error message.
Neither does “zero hydra failures” nor “import from derivation” without any explanation. This thread is a collection of abbreviations and acronyms, no one asked for more detailed explanations yet.
It’s true that “Trust On First Use” on its own doesn’t mean much to newcomers. Of course a wiki page should contain descriptions, or links to documentation and blog posts. And this goes for all entries in the list.
TOFU on its own isn’t Nix-specific. So the interesting part for this point is to explain the procedure lom outlined.
I second this!
My hope is that we can collect unfamiliar terms and initial glosses here.
Then, others may find the inspiration to upstream them to a more formal nix documentation resource.
Can someone define “NUR”?
A word that I didn’t knew while contributing for the first time in nixpkgs was LGTM: Look Good To Me
Yes, that’s used often in nixpkgs, but also in many other open source (and closed source) projects.
I guess we’ll need two glossaries, one with nix(pkgs)-specific terms, and one with more general terms that are common in the nix ecosystem.
I started a wiki page here: Glossary - NixOS Wiki
It’s still incomplete because I didn’t see myself competent to explain every term. Please feel free to add and improve!