blob: 8b6050c71e0bbc3cf670200ea7b0a9d6b891625b (
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
{ 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;
};
openlab = pkgs.recurseIntoAttrs {
gitit = callPackage ./openlab/gitit { hlib = pkgs.haskell.lib; };
stackenblocken = callPackage ./openlab/stackenblocken {};
};
aszlig = callPackageScope ./aszlig;
profpatsch = pkgs.recurseIntoAttrs {
display-infos = callPackage ./profpatsch/display-infos {};
nman = callPackage ./profpatsch/nman {};
warpspeed = callPackage ./profpatsch/warpspeed {
inherit (pkgs.haskellPackages) ghcWithPackages;
};
jmtpfs = pkgs.jmtpfs.override {
libmtp = pkgs.libmtp.overrideDerivation (old: {
patches = old.patches or [] ++ [
./profpatsch/patches/mtp-jolla.patch
];
});
};
# patched version of droopy, with javascript user-enhancement
droopy = pkgs.droopy.overrideDerivation (old: {
src = pkgs.fetchFromGitHub {
owner = "Profpatsch";
repo = "Droopy";
rev = "dc63d0ac9cecd74cdff84ab9ea2a5849d6953e8a";
sha256 = "09sms524wrnpdkhnpv9f2qbq30s8h02ljiv934g0dvmxy8571ph7";
};
installPhase = old.installPhase or "" + ''
mkdir -p $out/share/droopy
cp -r $src/static $out/share/droopy
'';
makeWrapperArgs = old.makeWrapperArgs or [] ++ [
"--set DROOPY_STATIC \"$out/share/droopy/static\""
];
});
};
sternenseemann = pkgs.recurseIntoAttrs {
spacecookie = pkgs.haskellPackages.callPackage ./sternenseemann/spacecookie {};
logbook = pkgs.ocamlPackages_4_02.callPackage ./sternenseemann/logbook {};
};
};
in pkgs // self
|