blob: 23e4bf98ba8e4a98df8619fb0144af9da9bde15c (
plain) (
blame)
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
45
46
47
48
49
|
{ pkgs ? import (import ../nixpkgs-path.nix) {} }:
let
inherit (pkgs.lib) callPackageWith isFunction;
callPackage = callPackageWith (pkgs // self.vuizvui);
callPackage_i686 = callPackageWith (pkgs.pkgsi686Linux // self.vuizvui);
callPackageScope = fn: let
f = if isFunction fn then fn else import fn;
toplevel = pkgs // self.vuizvui;
toplevel_i686 = pkgs.pkgsi686Linux // self.vuizvui;
autoArgs = toplevel // {
callPackage = callPackageWith (toplevel // super);
callPackage_i686 = callPackageWith (toplevel_i686 // super);
};
args = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
mkOverridable = overrideFun: origArgs: let
superSet = overrideFun origArgs;
overrideWith = newArgs: let
overridden = if isFunction newArgs then newArgs origArgs else newArgs;
in origArgs // overridden;
in superSet // {
override = newArgs: mkOverridable overrideFun (overrideWith newArgs);
};
super = mkOverridable f args;
in pkgs.recurseIntoAttrs super;
self.vuizvui = pkgs.recurseIntoAttrs {
mkChannel = callPackage ./build-support/channel.nix { };
list-gamecontrollers = callPackage ./list-gamecontrollers { };
show-qr-code = callPackage ./show-qr-code { };
games = import ./games {
inherit pkgs;
config = pkgs.config.vuizvui.games or null;
};
aszlig = callPackageScope ./aszlig;
openlab = callPackageScope ./openlab;
profpatsch = callPackageScope ./profpatsch;
sternenseemann = callPackageScope ./sternenseemann;
};
in pkgs // self
|