tvl-depot/third_party/default.nix

140 lines
2.7 KiB
Nix

# 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_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
mime-types
moreutils
nano
nginx
nix
openssh
openssl
overrideCC
overrideCCC
pandoc
parallel
pkgconfig
pounce
protobuf
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;
};
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) git 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;
};
}