Add NixOS option 'nixpkgs.overlays' to set the argument of Nixpkgs.
This commit is contained in:
parent
f5dfe78a1e
commit
83f7d5fc0a
@ -29,11 +29,19 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
configType = mkOptionType {
|
configType = mkOptionType {
|
||||||
name = "nixpkgs config";
|
name = "nixpkgs-config";
|
||||||
|
description = "nixpkgs config"
|
||||||
check = traceValIfNot isConfig;
|
check = traceValIfNot isConfig;
|
||||||
merge = args: fold (def: mergeConfig def.value) {};
|
merge = args: fold (def: mergeConfig def.value) {};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
overlayType = mkOptionType {
|
||||||
|
name = "nixpkgs-overlay";
|
||||||
|
description = "nixpkgs overlay";
|
||||||
|
check = builtins.isFunction;
|
||||||
|
merge = lib.mergeOneOption;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -43,23 +51,37 @@ in
|
|||||||
default = {};
|
default = {};
|
||||||
example = literalExample
|
example = literalExample
|
||||||
''
|
''
|
||||||
{ firefox.enableGeckoMediaPlayer = true;
|
{ firefox.enableGeckoMediaPlayer = true; }
|
||||||
packageOverrides = pkgs: {
|
|
||||||
firefox60Pkgs = pkgs.firefox60Pkgs.override {
|
|
||||||
enableOfficialBranding = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
'';
|
'';
|
||||||
type = configType;
|
type = configType;
|
||||||
description = ''
|
description = ''
|
||||||
The configuration of the Nix Packages collection. (For
|
The configuration of the Nix Packages collection. (For
|
||||||
details, see the Nixpkgs documentation.) It allows you to set
|
details, see the Nixpkgs documentation.) It allows you to set
|
||||||
package configuration options, and to override packages
|
package configuration options.
|
||||||
globally through the <varname>packageOverrides</varname>
|
'';
|
||||||
option. The latter is a function that takes as an argument
|
};
|
||||||
the <emphasis>original</emphasis> Nixpkgs, and must evaluate
|
|
||||||
to a set of new or overridden packages.
|
nixpkgs.overlays = mkOption {
|
||||||
|
default = [];
|
||||||
|
example = literalExample
|
||||||
|
''
|
||||||
|
[ (self: super: {
|
||||||
|
openssh = super.openssh.override {
|
||||||
|
hpnSupport = true;
|
||||||
|
withKerberos = true;
|
||||||
|
kerberos = self.libkrb5
|
||||||
|
};
|
||||||
|
};
|
||||||
|
) ]
|
||||||
|
'';
|
||||||
|
type = lib.listOf overlayType;
|
||||||
|
description = ''
|
||||||
|
List of overlays to use with the Nix Packages collection.
|
||||||
|
(For details, see the Nixpkgs documentation.) It allows
|
||||||
|
you to override packages globally. This is a function that
|
||||||
|
takes as an argument the <emphasis>original</emphasis> Nixpkgs.
|
||||||
|
The first argument should be used for finding dependencies, and
|
||||||
|
the second should be used for overriding recipes.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user