| Commit message (Expand) | Author | Age | Files | Lines |
| * | doc: fix typos | Ben Siraphob | 2025-09-09 | 1 | -1/+1 |
| * | lib.evalModules: add graph attribute•••Co-authored-by: Ali Jamadi <jamadi1377@gmail.com>
| Shahar "Dawn" Or | 2025-08-07 | 1 | -0/+10 |
| * | doc/module-system: Adjust markdown syntax | Robert Hensing | 2025-05-09 | 1 | -26/+22 |
| * | doc/module-system: Apply suggestions from code review•••Co-authored-by: Valentin Gagarin <valentin@gagarin.work> | Robert Hensing | 2025-05-09 | 1 | -3/+5 |
| * | doc: Module arguments | Robert Hensing | 2025-04-15 | 1 | -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 Hensing | 2025-01-23 | 1 | -0/+9 |
| * | docs: add references to module system section | Johannes Kirschbauer | 2025-01-02 | 1 | -2/+5 |
| * | lib.modules: configurationClass -> class•••This simplifies the documentation. `configuration` is implied by `_type`.
| Robert Hensing | 2023-05-06 | 1 | -2/+2 |
| * | lib.modules: in evalModules return move _module.class -> configurationClass | Robert Hensing | 2023-05-06 | 1 | -0/+8 |
| * | doc/module-system: `_module` is not internal | Robert Hensing | 2023-05-06 | 1 | -1/+1 |
| * | lib.modules: Change class declaration in module to _class | Robert Hensing | 2023-05-06 | 1 | -1/+1 |
| * | lib/modules: Move class out of specialArgs | Robert Hensing | 2023-05-06 | 1 | -3/+3 |
| * | module-system.chapter.md: Elaborate on extendModules performance | Robert Hensing | 2023-05-06 | 1 | -2/+11 |
| * | module-system.chapter.md: Add mental model to `type` and `extendModules` | Robert Hensing | 2023-05-06 | 1 | -0/+5 |
| * | fixup! doc: Add Module System chapter start | Robert Hensing | 2023-05-06 | 1 | -16/+30 |
| * | doc: Add Module System chapter start | Robert Hensing | 2023-05-06 | 1 | -0/+69 |