mirror of
https://github.com/nix-community/flakelight.git
synced 2025-06-25 03:51:32 +02:00
Add option for extending default overlay
This commit is contained in:
parent
981351cfe2
commit
9672921de0
@ -4,15 +4,30 @@
|
|||||||
|
|
||||||
{ config, lib, flakelight, ... }:
|
{ config, lib, flakelight, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkOption mkIf;
|
inherit (lib) mkMerge mkOption mkIf;
|
||||||
inherit (lib.types) lazyAttrsOf;
|
inherit (lib.types) lazyAttrsOf nullOr;
|
||||||
inherit (flakelight.types) overlay;
|
inherit (flakelight.types) overlay;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.overlays = mkOption {
|
options = {
|
||||||
type = lazyAttrsOf overlay;
|
overlay = mkOption {
|
||||||
default = { };
|
type = nullOr overlay;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
overlays = mkOption {
|
||||||
|
type = lazyAttrsOf overlay;
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config.outputs = mkIf (config.overlays != { }) { inherit (config) overlays; };
|
config = mkMerge [
|
||||||
|
(mkIf (config.overlay != null) {
|
||||||
|
overlays.default = config.overlay;
|
||||||
|
})
|
||||||
|
|
||||||
|
(mkIf (config.overlays != { }) {
|
||||||
|
outputs = { inherit (config) overlays; };
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ in
|
|||||||
}) //
|
}) //
|
||||||
(genAttrs pkgNames' (n: final.callPackage config.packages.${n} { })));
|
(genAttrs pkgNames' (n: final.callPackage config.packages.${n} { })));
|
||||||
|
|
||||||
overlays.default = final: prev:
|
overlay = final: prev:
|
||||||
let
|
let
|
||||||
pkgs' = fix (composeManyExtensions config.withOverlays) prev;
|
pkgs' = fix (composeManyExtensions config.withOverlays) prev;
|
||||||
defaultName = getName (callPkg pkgs' config.packages.default);
|
defaultName = getName (callPkg pkgs' config.packages.default);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user