NixOS / NixOS/nix.dev

Build phases (with `mkDerivation`)

Open
#603 7 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

guide (2) tracking
Dominant language
Nix
Stars
4k
Forks
339
Avg merge
2d 11h
Merged PRs (30d)
7

Description

Project description

A Nix build goes through several phases, many of which are handled for you automatically if you're using nixpkgs-provided builders. However, it's common to want to customize a particular build phase or write your own logic for a particular phase if you aren't using a builder. This tutorial should focus on common build phases, when each one occurs, and how you might customize each one to accomplish certain tasks. This tutorial could also show that builders implement these phases differently to accommodate their different use cases.

Steps

  • Submit a PR with an outline for the tutorial
  • Submit a PR with a draft of the tutorial

Considerations

This is a broad topic that can go in many different directions, so special attention should be given to making sure that this is a tutorial and not an explanation. In other words, the user should be working on a specific task that puts them in contact with these topics, this document shouldn't be a general discussion of phases.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start from the issue requirements and the linked Diátaxis distinction, then outline a task-focused tutorial covering common build phases, customization, and builder differences. Submit the outline first, followed by a draft tutorial; completion means both requested PRs are provided and the result remains a tutorial rather than a general explanation.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.