about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorAlyssa Ross2024-08-03 11:18:53 +0200
committerValentin Gagarin2024-08-16 16:13:01 +0200
commit5c30512e09c15ff9d5a214d75093eb368e83829c (patch)
tree826a018eacd750b9a52f8c5975d177074843c277 /doc
parent639a4a7026060513c504098c85649f0271c2b786 (diff)
doc/using/overrides: manage package option expectations
We haven't been good at managing expectations about this, so let's
tell people what level of support they can expect.  I think the place
people are most likely to see it is the place where they learn about
overriding in the first place, so I've added it here.

Co-authored-by: Valentin Gagarin <valentin@gagarin.work>
Diffstat (limited to 'doc')
-rw-r--r--doc/using/overrides.chapter.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/using/overrides.chapter.md b/doc/using/overrides.chapter.md
index 8c6ed79076c2..27a042963dd6 100644
--- a/doc/using/overrides.chapter.md
+++ b/doc/using/overrides.chapter.md
@@ -40,6 +40,13 @@ import pkgs.path { overlays = [ (self: super: {
 
 In the first example, `pkgs.foo` is the result of a function call with some default arguments, usually a derivation. Using `pkgs.foo.override` will call the same function with the given new arguments.
 
+Many packages, like the `foo` example above, provide package options with default values in their arguments, to facilitate overriding.
+Because it's not usually feasible to test that packages build with all combinations of options, you might find that a package doesn't build if you override options to non-default values.
+
+Package maintainers are not expected to fix arbitrary combinations of options.
+If you find that something doesn't work, please submit a fix, ideally with a regression test.
+If you want to ensure that things keep working, consider [becoming a maintainer](https://github.com/NixOS/nixpkgs/tree/master/maintainers) for the package.
+
 ## &lt;pkg&gt;.overrideAttrs {#sec-pkg-overrideAttrs}
 
 The function `overrideAttrs` allows overriding the attribute set passed to a `stdenv.mkDerivation` call, producing a new derivation based on the original one. This function is available on all derivations produced by the `stdenv.mkDerivation` function, which is most packages in the nixpkgs expression `pkgs`.