blob: a72e04adceb1018a5d8796d145fb926d73d74e21 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
# 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-unstable as of 2020-06-10.
nixpkgsCommit = "467ce5a9f45aaf96110b41eb863a56866e1c2c3c";
nixpkgsSrc = fetchTarball {
url = "https://github.com/NixOS/nixpkgs-channels/archive/${nixpkgsCommit}.tar.gz";
sha256 = "0qz7wgi61pdb335n18xm8rfwddckwv0vg8n7fii5abrrx47vnqcj";
};
nixpkgs = import nixpkgsSrc {
config.allowUnfree = true;
config.allowBroken = true;
};
# Tracking nixos-20.03 as of 2020-05-22
stableCommit = "48723f48ab92381f0afd50143f38e45cf3080405";
stableNixpkgsSrc = fetchTarball {
url = "https://github.com/NixOS/nixpkgs-channels/archive/${stableCommit}.tar.gz";
sha256 = "0h3b3l867j3ybdgimfn76lw7w6yjhszd5x02pq5827l659ihcf53";
};
stableNixpkgs = import stableNixpkgsSrc {};
exposed = {
# Inherit the packages from nixos-unstable that should be available inside
# of the repo. They become available under `pkgs.third_party.<name>`
inherit (nixpkgs)
age
autoconf
autoreconfHook
bashInteractive
bat
buildBazelPackage
buildFHSUserEnv
buildGoModule
buildGoPackage
buildPackages
bzip2
c-ares
cacert
cachix
cairo
cargo
cgit
clang-tools
clang_10
cmake
coreutils
cudatoolkit
darwin
dockerTools
fetchFromGitHub
fetchgit
fetchurl
fetchzip
fira
fira-code
fira-mono
fontconfig
freetype
gettext
glibc
gmock
gnutar
go
google-cloud-sdk
graphviz
gzip
haskell
iana-etc
imagemagickBig
jdk
jetbrains-mono
jq
kontemplate
lib
libredirect
luajit
luatex
makeFontsConf
makeWrapper
mdbook
meson
mime-types
moreutils
nano
nginx
ninja
nix
openssh
openssl
overrideCC
pandoc
parallel
pkgconfig
pounce
python3
python3Packages
remarshal
rink
ripgrep
rsync
runCommand
runCommandNoCC
rustPlatform
rustc
sbcl
sqlite
stern
symlinkJoin
systemd
tdlib
terraform_0_12
texlive
thttpd
tree
which
writeShellScript
writeShellScriptBin
writeText
writeTextFile
xorg
xz
zlib
zstd;
# Inherit packages that should come from a stable channel
inherit (stableNixpkgs)
emacs26
emacs26-nox
emacsPackages
emacsPackagesGen;
# 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.lib.fix(self: exposed // {
callPackage = nixpkgs.lib.callPackageWith self;
# Provide the source code of nixpkgs, but do not provide an imported
# version of it.
inherit nixpkgsCommit nixpkgsSrc stableNixpkgsSrc;
# Packages to be overridden
originals = {
inherit (nixpkgs) grpc notmuch;
inherit (stableNixpkgs) git;
ffmpeg = nixpkgs.ffmpeg-full;
};
# Use LLVM 10
llvmPackages = nixpkgs.llvmPackages_10;
clangStdenv = nixpkgs.llvmPackages_10.stdenv;
stdenv = nixpkgs.llvmPackages_10.stdenv;
# Make NixOS available
nixos = import "${nixpkgsSrc}/nixos";
})
|