1{ lib, pkgs }:
2
3lib.makeScope pkgs.newScope (
4 self:
5 let
6 inherit (self) callPackage;
7 in
8 {
9 # ui can be: gtk2, gtk3, sixel, framebuffer. Note that console display (sixel)
10 # requires a terminal that supports `sixel` capabilities, such as mlterm
11 # or xterm -ti 340
12 ui = "gtk3";
13 uilib =
14 {
15 "framebuffer" = "framebuffer";
16 "gtk2" = "gtk2";
17 "gtk3" = "gtk3";
18 "sixel" = "framebuffer";
19 }
20 .${self.ui} or null; # Null will never happen
21 SDL =
22 {
23 "sixel" = pkgs.SDL_sixel;
24 "framebuffer" = pkgs.SDL;
25 }
26 .${self.ui} or null;
27
28 browser = callPackage ./browser.nix { };
29
30 buildsystem = callPackage ./buildsystem.nix { };
31 libcss = callPackage ./libcss.nix { };
32 libdom = callPackage ./libdom.nix { };
33 libhubbub = callPackage ./libhubbub.nix { };
34 libnsbmp = callPackage ./libnsbmp.nix { };
35 libnsfb = callPackage ./libnsfb.nix { };
36 libnsgif = callPackage ./libnsgif.nix { };
37 libnslog = callPackage ./libnslog.nix { };
38 libnspsl = callPackage ./libnspsl.nix { };
39 libnsutils = callPackage ./libnsutils.nix { };
40 libparserutils = callPackage ./libparserutils.nix { };
41 libsvgtiny = callPackage ./libsvgtiny.nix { };
42 libutf8proc = callPackage ./libutf8proc.nix { };
43 libwapcaplet = callPackage ./libwapcaplet.nix { };
44 nsgenbind = callPackage ./nsgenbind.nix { };
45 }
46)