-
-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document policy on config
options
#12596
Comments
There has never been an explicit consensus reached on the extend to which we want My understanding is that The |
FWIW my own thoughts are exactly the same, i.e. we already have various flags in packages themselves which can be set by On the other hand an argument for more mass usage is pointed out by @a1russell at https://github.com/NixOS/nixpkgs/pull/12339/files#discussion_r50638513. It comes down to cc @edolstra as the project man-in-charge ~_^ |
You can make standard options "discoverable" in the exactly same way by explicitly passing the default value in all-packages.nix. Personally I don't feel strongly about this. So far the options in general have interface more for nixpkgs "developers" than for nixpkgs "users". |
Using nixpkgs config is akin to introducing global variables (set by an env variable), which is very bad in my opinion, because it destroys reproducability. The user can already override whatever he wants with |
I have suggested this #16531 which would apply the module system to make it easier to document, discover and type check options in nixpkgs config. |
In #16531 we basically came to the conclusion that the config should go into a I propose we do add documentation, in the vein of: “Using nixpkgs config to modify package behaviour is discouraged, explicit overrides of packages should be preferred. For user configuration a yet to be written |
(triage) With the new overlay methods, is this still a valid problem? |
I remember seeing mentions several times on policy of avoiding new
config
options (I can't remember where exactly), especially ones that affect only one package. Asked in https://github.com/NixOS/nixpkgs/pull/12339/files#r50638513, I couldn't remember any exact place where it's documented and couldn't find any reference in Nixpkgs manual. So -- what's our policy on adding newconfig
options, and why?Two main cases of those options:
config.pulseaudio
. Example of usage: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix#L12691The text was updated successfully, but these errors were encountered: