let
  sources = import ./sources.nix;
  nixpkgs = import sources.nixpkgs {
    system = __currentSystem;
    overlays = [
      (_: _: { inherit sources; })
      (import ./sources-overlay.nix)
      (_: pkgs: pkgs.overridePinnedDeps pkgs.overrideSource)
      (_: _: { niv = import sources.niv {}; })
      (import ./haskell-overlay.nix)
      (_: pkgs: { wemux = pkgs.callPackage ./wemux.nix {}; })
    ];
  };
in nixpkgs