tvl-depot/third_party/default.nix
Vincent Ambo 81d9b81b06 feat(cheddar): Use syntax highlighting assets from bat
This uses Nix to inject the path to the syntax highlighting assets
that ship with the bat source code into the cheddar build at compile
time, where the Rust compiler then inserts it into the binary via
macros.

bat has a lot of custom syntax highlighting definitions that they
collected from all over the place (including for languages like Nix!)
and this makes them accessible to cheddar.

Also if you're reading this, can you just take a moment to appreciate
how incredible it is that Nix just lets us do something like this?!
2019-12-21 04:55:10 +00:00

101 lines
2 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*.
{ pkgs, ... }:
let
# The pinned commit here is identical to the public nixery.dev
# version, since popularity data has been generated for that.
stableCommit = "3140fa89c51233397f496f49014f6b23216667c2";
stableSrc = fetchTarball {
url = "https://github.com/NixOS/nixpkgs-channels/archive/${stableCommit}.tar.gz";
sha256 = "18p0d5lnfvzsyfah02mf6bi249990pfwnylwhqdh8qi70ncrk3f8";
};
nixpkgs = import stableSrc {
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)
bashInteractive
bat
buildGoPackage
cacert
cachix
cargo
cgit
coreutils
darwin
dockerTools
emacs26
emacs26-nox
emacsPackagesNg
emacsPackagesNgGen
fetchFromGitHub
fetchurl
fira
fira-code
fira-mono
git
glibc
gnutar
go
google-cloud-sdk
gzip
haskell
iana-etc
jq
kontemplate
lib
lispPackages
llvmPackages
luatex
makeFontsConf
makeWrapper
mdbook
mime-types
moreutils
nano
nginx
nix
notmuch
openssh
openssl
parallel
pkgconfig
protobuf
remarshal
rink
ripgrep
rsync
runCommand
rustPlatform
rustc
sbcl
stdenv
stern
symlinkJoin
systemd
tdlib
terraform_0_12
texlive
thttpd
tree
writeShellScript
writeShellScriptBin
writeText
writeTextFile
zlib
zstd;
};
in exposed // {
callPackage = nixpkgs.lib.callPackageWith exposed;
# Provide the source code of nixpkgs, but do not provide an imported
# version of it.
nixpkgsSrc = stableSrc;
}