066d34b50e
These patches enable hardware-accelerated video decoding, which is useful for Stadia. The main issue with this is that Hydra doesn't currently cache Chromium with these patches, which means that it is built from scratch which takes in the order of 5 hours on an otherwise unused nugget.
134 lines
2.6 KiB
Nix
134 lines
2.6 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
|
|
cargo
|
|
cgit
|
|
clang_9
|
|
cmake
|
|
coreutils
|
|
cudatoolkit
|
|
darwin
|
|
dockerTools
|
|
emacs26
|
|
emacs26-nox
|
|
emacsPackages
|
|
emacsPackagesGen
|
|
fetchFromGitHub
|
|
fetchurl
|
|
fetchzip
|
|
fira
|
|
fira-code
|
|
fira-mono
|
|
gettext
|
|
glibc
|
|
gnutar
|
|
go
|
|
google-cloud-sdk
|
|
grpc
|
|
gzip
|
|
haskell
|
|
iana-etc
|
|
imagemagickBig
|
|
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
|
|
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;
|
|
};
|
|
}
|