summaryrefslogtreecommitdiff
path: root/doc/module-system (follow)
Commit message (Expand)AuthorAgeFilesLines
* doc: fix typosBen Siraphob2025-09-091-1/+1
* lib.evalModules: add graph attribute•••Co-authored-by: Ali Jamadi <jamadi1377@gmail.com> Shahar "Dawn" Or2025-08-071-0/+10
* doc/module-system: Adjust markdown syntaxRobert Hensing2025-05-091-26/+22
* doc/module-system: Apply suggestions from code review•••Co-authored-by: Valentin Gagarin <valentin@gagarin.work>Robert Hensing2025-05-091-3/+5
* doc: Module argumentsRobert Hensing2025-04-151-0/+45
* lib: Discourage use of extend•••It creates interoperability issues that can not be reconciled by `lib` or maintainers of projects that use the Nixpkgs library. Occasionally, end users may be able to solve the problems they run into, but most are not prepared to deal with this set of problems, nor should they be. Typical conflict: - User wants to propagate their own lib, because it has some function they like to use throughout their projects - Project maintainer requires the project's lib to be used No sane language uses a single namespace for combining all the things. (Arguably not even C with its extensive use of prefixing) Meanwhile, in Nix, all symbols are first class variables. We don't even have the concept of a global top-level namespace to pour everything into. With `lib` you can try to approximate that, I get the appeal of its apparent simplicity, but since `lib` can't be global, we just don't even get that apparent simplicity. I apologize for not offering concrete solutions to this in the text. The manuals are limited to reference documentation. Alternatives - of which we have multiple - are best provided in task-oriented documentation, e.g. nix.dev. Robert Hensing2025-01-231-0/+9
* docs: add references to module system sectionJohannes Kirschbauer2025-01-021-2/+5
* lib.modules: configurationClass -> class•••This simplifies the documentation. `configuration` is implied by `_type`. Robert Hensing2023-05-061-2/+2
* lib.modules: in evalModules return move _module.class -> configurationClassRobert Hensing2023-05-061-0/+8
* doc/module-system: `_module` is not internalRobert Hensing2023-05-061-1/+1
* lib.modules: Change class declaration in module to _classRobert Hensing2023-05-061-1/+1
* lib/modules: Move class out of specialArgsRobert Hensing2023-05-061-3/+3
* module-system.chapter.md: Elaborate on extendModules performanceRobert Hensing2023-05-061-2/+11
* module-system.chapter.md: Add mental model to `type` and `extendModules`Robert Hensing2023-05-061-0/+5
* fixup! doc: Add Module System chapter startRobert Hensing2023-05-061-16/+30
* doc: Add Module System chapter startRobert Hensing2023-05-061-0/+69