diff options
Diffstat (limited to 'third_party/default.nix')
-rw-r--r-- | third_party/default.nix | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/third_party/default.nix b/third_party/default.nix new file mode 100644 index 000000000000..b48f405eba18 --- /dev/null +++ b/third_party/default.nix @@ -0,0 +1,166 @@ +# This file controls the import of external dependencies (i.e. +# third-party code) into my package tree. +# +# This includes *all packages needed from nixpkgs*. +{ ... }: + +let + # Tracking nixos-20.03 as of 2020-04-04. + commit = "b0c285807d6a9f1b7562ec417c24fa1a30ecc31a"; + nixpkgsSrc = fetchTarball { + url = "https://github.com/NixOS/nixpkgs-channels/archive/${commit}.tar.gz"; + sha256 = "0waapr7aqz0h1fy1fqlx981ygllh91qx9sz1l2j2h59s46cdircl"; + }; + nixpkgs = import nixpkgsSrc { + config.allowUnfree = true; + config.allowBroken = true; + }; + + exposed = { + # Inherit the packages from nixpkgs that should be available inside + # of the repo. They become available under `pkgs.third_party.<name>` + inherit (nixpkgs) + age + autoconf + bashInteractive + bat + buildGoModule + buildGoPackage + bzip2 + c-ares + cacert + cachix + cairo + cargo + cgit + clang-tools + clangStdenv + clang_9 + cmake + coreutils + cudatoolkit + darwin + dockerTools + emacs26 + emacs26-nox + emacsPackages + emacsPackagesGen + fetchFromGitHub + fetchurl + fetchzip + fira + fira-code + fira-mono + fontconfig + freetype + gettext + glibc + gnutar + go + google-cloud-sdk + graphviz + grpc + gzip + haskell + iana-etc + imagemagickBig + jetbrains-mono + jq + kontemplate + lib + libredirect + llvmPackages + luajit + luatex + makeFontsConf + makeWrapper + mdbook + meson + mime-types + moreutils + nano + nginx + ninja + nix + openssh + openssl + overrideCC + pandoc + parallel + pkgconfig + pounce + protobuf + python3 + python3Packages + remarshal + rink + ripgrep + rsync + runCommand + runCommandNoCC + rustPlatform + rustc + sbcl + sqlite + stdenv + stern + symlinkJoin + systemd + tdlib + terraform_0_12 + texlive + thttpd + tree + writeShellScript + writeShellScriptBin + writeText + writeTextFile + xz + zlib + zstd; + + # Required by //third_party/nix + inherit (nixpkgs) + aws-sdk-cpp + bison + boehmgc + boost # urgh + brotli + busybox-sandbox-shell + curl + docbook5 + docbook_xsl_ns + editline + flex + libseccomp + libsodium + libxml2 + libxslt + mercurial + perl + perlPackages + utillinuxMinimal; + }; + +in exposed // { + callPackage = nixpkgs.lib.callPackageWith exposed; + + # Provide the source code of nixpkgs, but do not provide an imported + # version of it. + inherit nixpkgsSrc; + + # Packages to be overridden + originals = { + inherit (nixpkgs) abseil-cpp git glog notmuch; + ffmpeg = nixpkgs.ffmpeg-full; + }; + + # Make NixOS available + nixos = import "${nixpkgsSrc}/nixos"; + + # Build a Chromium with VAAPI (hardware-accelerated video decoding) + # enabled. This is useful for Stadia on desktop. + chromiumVaapi = nixpkgs.chromium.override { + useVaapi = true; + }; +} |