{"action":"created","issue":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/12596","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/12596/labels{/name}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/12596/comments","events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/12596/events","html_url":"https://github.com/NixOS/nixpkgs/issues/12596","id":128412608,"number":12596,"title":"Document policy on `config` options","user":{"login":"abbradar","id":1174810,"avatar_url":"https://avatars.githubusercontent.com/u/1174810?v=3","gravatar_id":"","url":"https://api.github.com/users/abbradar","html_url":"https://github.com/abbradar","followers_url":"https://api.github.com/users/abbradar/followers","following_url":"https://api.github.com/users/abbradar/following{/other_user}","gists_url":"https://api.github.com/users/abbradar/gists{/gist_id}","starred_url":"https://api.github.com/users/abbradar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abbradar/subscriptions","organizations_url":"https://api.github.com/users/abbradar/orgs","repos_url":"https://api.github.com/users/abbradar/repos","events_url":"https://api.github.com/users/abbradar/events{/privacy}","received_events_url":"https://api.github.com/users/abbradar/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NixOS/nixpkgs/labels/9.needs:%20documentation","name":"9.needs: documentation","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-01-24T17:35:45Z","updated_at":"2016-01-25T07:47:49Z","closed_at":null,"body":"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 new `config` options, and why?\r\n\r\nTwo main cases of those options:\r\n1. Affecting only one package. Example of such existing option: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix#L12666\r\n2. Affecting multiple packages. One good example would be `config.pulseaudio`. Example of usage: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix#L12691"},"comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments/174429721","html_url":"https://github.com/NixOS/nixpkgs/issues/12596#issuecomment-174429721","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/12596","id":174429721,"user":{"login":"vcunat","id":1785925,"avatar_url":"https://avatars.githubusercontent.com/u/1785925?v=3","gravatar_id":"","url":"https://api.github.com/users/vcunat","html_url":"https://github.com/vcunat","followers_url":"https://api.github.com/users/vcunat/followers","following_url":"https://api.github.com/users/vcunat/following{/other_user}","gists_url":"https://api.github.com/users/vcunat/gists{/gist_id}","starred_url":"https://api.github.com/users/vcunat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcunat/subscriptions","organizations_url":"https://api.github.com/users/vcunat/orgs","repos_url":"https://api.github.com/users/vcunat/repos","events_url":"https://api.github.com/users/vcunat/events{/privacy}","received_events_url":"https://api.github.com/users/vcunat/received_events","type":"User","site_admin":false},"created_at":"2016-01-25T07:47:49Z","updated_at":"2016-01-25T07:47:49Z","body":"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\"."}}