1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 14:32:43 -04:00
nix.dev/maintainers/working_groups/learning_journey/documentation-survey.md
Silvan Mosberger cded3328eb
Merge pull request #630 from henrik-ch/docs_pill18
Documentation survey Pill 18 nix store paths
2023-07-27 16:07:37 +02:00

8 KiB

Documentation survey

To better navigate the material and judge its relevance, every entry should provide

  • Title (URL)
  • Brief summary
  • Video length or estimated reading time
  • Principal Author(s)
  • Year created (last update or maintenance status)

Tutorials

Nix

Nix language

Nixpkgs

NixOS

How-To Guides

Nix

Nix language

Nixpkgs

NixOS

Explanation

Nix

Nix language

Nixpkgs

  • Nix Pills Chapter 6: Our First Derivation

    Explains derivations; the derivation function, its attribute set, .drv and 'out' files. Explains outpath. Regarding nixpkgs, shows how to bring nixpkgs into scope and how to refer to a package using its outpath. Accessing files underneath a package's out.

    • Reading time: 25 min
    • Author: Luca Bruno
    • Created: 2015
    • Updated 2017
  • Nix Pills Chapter 7: Working Derivation

    Creating a working derivation. Using nix repl: bash as a builder; the args attribute; creating in $out; the builder environment; packaging a C program. Using a .nix file to define the derivation: import function; inherit keyword; using nix-build. Explains how to use gcc, bash and coreutils from nixpkgs.

    • Reading time: 15 min
    • Author: Luca Bruno
    • Created: 2015 (effectively unmaintained since 2017)
  • https://nixos.org/guides/nix-pills/inputs-design-pattern.html

    Explains the inputs design pattern as used by nixpkgs. A single customizable repository having a top-level Nix expression, with one expression for each package.

    • Reading time: 20 min
    • Author: Luca Bruno
    • Created: 2015 (effectively unmaintained since 2017)
  • https://nixos.org/guides/nix-pills/callpackage-design-pattern.html

    Introduces the callPackage pattern used extensively in Nixpkgs. Shows how to write and use the function; use builtins.functionArgs to determine arguments, use builtins.intersectAttrs to combine attributes, and override arguments when needed.

    • Reading time: 15 min
    • Author: Luca Bruno
    • Created: 2015 (effectively unmaintained since 2017)
  • partially in https://edolstra.github.io/pubs/phd-thesis.pdf

  • Connecting Bash to Nix

    Configure derivation using only Bash and builtins. Explains builtins.derivation, attributes, nix build, store path hierarchy, imports. Relates this to `stdenv.mkDerivation.

    • Reading time: 10 min
    • Author: Ross Light
    • Created: 2023

NixOS

Reference

Nix

Nix language

Nixpkgs

NixOS