{ config ? {}, system ? builtins.currentSystem, ... }@args: let sources = import ../nix/sources.nix; pkgs = import sources.nixpkgs args; unstable = import sources.nixpkgs-unstable args; callPackage = pkgs.lib.callPackageWith (pkgs // newpkgs); newpkgs = { alps = callPackage ./alps {}; docker = pkgs.docker.overrideAttrs (super: { moby = super.moby.overrideAttrs (super: { extraPath = super.extraPath + ":${pkgs.zfs}/bin"; }); }); linuxPackagesFor = kernel: (pkgs.linuxPackagesFor kernel).extend (_: ksuper: { decklink = callPackage ./decklink { kernel = ksuper.kernel; }; }); blackmagicDesktopVideo = callPackage ./blackmagic-desktop-video { }; obs-studio = unstable.obs-studio.overrideAttrs (_: rec { wrapLibraries = with (pkgs // newpkgs); [ xorg.libX11.out libvlc blackmagicDesktopVideo libcxx libcxxabi ]; postInstall = '' wrapProgram $out/bin/obs \ --prefix "LD_LIBRARY_PATH" : "${pkgs.lib.makeLibraryPath wrapLibraries}" ''; }); mattermost = callPackage ./mattermost {}; # a version of the lounge with some extra css that # hides things the hacc-voc doesn't need thelounge-hacked = pkgs.stdenv.mkDerivation { name = "thelounge-hacked"; src = pkgs.thelounge; phases = [ "buildPhase" "installPhase" ]; buildPhase = '' cp $src/* -r . chmod 777 lib/node_modules/thelounge/public/css/style.css cat ${./thelounge/css-patch.css} >> lib/node_modules/thelounge/public/css/style.css ''; installPhase = '' mkdir -p $out cp * -r $out ''; }; keytracker-frontend = callPackage ./keytracker/frontend.nix {}; keytracker-server = callPackage ./keytracker/server.nix {}; inherit (unstable) bottom; }; in pkgs.extend(_: _: newpkgs)