-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
33 lines (32 loc) · 1.09 KB
/
default.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{ pkgs ? import <nixpkgs> { } }:
with import ./lib/extension.nix { inherit (pkgs) lib; };
let
overlayToPackageSet = overlays: manifest:
pipe overlays [
pkgs.appendOverlays
(copyAttrsByPath manifest)
recurseIntoAttrsRecursive
(mapAttrsRecursiveCond
(set: set.recurseForDerivations or false)
(path: drv:
if drv ? meta.hydraPlatforms && drv.meta.hydraPlatforms == platforms.none
then warn "aasg-nixexprs.${concatStringsSep "." path} is no longer supported; please switch to use the version in Nixpkgs" drv
else drv))
];
self = {
lib = import ./lib { inherit (pkgs) lib; };
modules = import ./modules;
overlays = {
pkgs = import ./pkgs/overlay.nix;
patches = import ./patches/overlay.nix;
};
packageSets = {
pkgs = overlayToPackageSet [ self.overlays.pkgs ] (import ./pkgs/manifest.nix);
patches = overlayToPackageSet [ self.overlays.pkgs self.overlays.patches ] (import ./patches/manifest.nix);
};
};
in
foldl' recursiveUpdate self [
self.packageSets.pkgs
self.packageSets.patches
]