Nixpkgs slang and abbreviations

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 :slight_smile:

Maybe we have some page or post where these concepts are explained, so people can learn what they mean and why they are important.

8 Likes
  • r13y: Reproducibility
  • CA: Content-addressed
3 Likes

TOFU: Trust on first use

1 Like

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
my shortlist:

  • derivation
  • package, package manager
  • functional, functional programming
    • purity, immutability

I’ve always felt like @domenkozar’s blog post on IFD was a nice introduction: Native support for import-from-derivation – Hercules CI blog

2 Likes

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

2 Likes

TOFU

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.

2 Likes

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.

1 Like

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”?

1 Like

NUR: Nix User Repository

4 Likes

A word that I didn’t knew while contributing for the first time in nixpkgs was LGTM: Look Good To Me

3 Likes

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.

1 Like

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!

3 Likes