-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
44 lines (38 loc) · 1.13 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
34
35
36
37
38
39
40
41
42
43
44
{
pkgs ? import <nixpkgs> { },
lib ? pkgs.lib,
callPackage ? pkgs.callPackage,
}:
let
by-name-overlay = import <nixpkgs/pkgs/top-level/by-name-overlay.nix> ./pkgs/by-name;
# this line allows packages to call themselves
pkgsWithNur = import pkgs.path {
inherit (pkgs) system;
overlays = [ by-name-overlay ];
};
applied-overlay = by-name-overlay pkgsWithNur pkgs;
in
applied-overlay
// {
lib = lib.extend (
final: prev:
# this extra callPackage call is needed to give
# the result an `override` ability.
(callPackage ./lib { })
);
modules = lib.mapAttrs' (
filename: _filetype:
lib.nameValuePair "${lib.removeSuffix ".nix" filename}" ((import (./modules + "/${filename}")))
) (builtins.readDir ./modules);
qemuImages = pkgs.recurseIntoAttrs (callPackage ./pkgs/qemu-images { });
python3Packages = pkgs.recurseIntoAttrs (
lib.makeScope pkgs.python3Packages.newScope (
self:
import ./pkgs/python3-packages {
inherit (self) callPackage;
lib = lib;
}
)
);
lispPackages = pkgs.recurseIntoAttrs { cl-raylib = pkgs.callPackage ./pkgs/cl-raylib { }; };
}