about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-07-16 r/1333 feat(3p/nix): Add AddSignaturesGriffin Smith1-0/+8
Change-Id: Ic37409c7987c261dc3eb91382d40f458fae6ea0c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1209 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-16 r/1332 feat(3p/nix): Add BuildDerivation protoGriffin Smith1-0/+31
Change-Id: Ib66b4ff2da72677e74b6a713186c72f66d9f6f88 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1208 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1331 chore(3p/nix/worker-protocol): Add missing includesGriffin Smith1-0/+3
These files were always implicitly depended upon by worker-protocol.hh, but just so happened also always be included in places where the other ones were already present. We are likely getting rid of this file sooner rather than later, but in the meantime this will cause clangd to shut up while I'm editing the file. Change-Id: I0d765f8b86828b6612e5483417e452221ea3c5b1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1207 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-16 r/1330 feat(3p/nix): Add VerifyStoreGriffin Smith1-0/+14
Change-Id: I6a0596e986867e94857da461c746a80750830f7b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1206 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1329 feat(3p/nix): Add OptimiseStoreGriffin Smith2-1/+6
Change-Id: I0d254504801283e018eef41bd5ea9850b17c0d80 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1205 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1328 feat(3p/nix): Add QueryValidDeriversGriffin Smith1-0/+4
Change-Id: I52965bdbf143ae11201e1fafed1c25b3d8f1bee9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1204 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1327 feat(3p/nix): Add path query opsGriffin Smith1-0/+6
Add QueryValidPaths and QuerySubstitutablePaths, both of which filter a list of paths based on a set of criteria. Change-Id: I6aa4647efe82b82dc9582a311643d5f9b6d521d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1203 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1326 feat(3p/nix): Add QueryPathFromHashPartGriffin Smith1-12/+19
Change-Id: I0a31557f4cf585d3e539e29ef1a07b443aeec9fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/1202 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1325 refactor(3p/nix/libexpr): Use Abseil collection types for parser stateVincent Ambo2-2/+13
Replaces the previous uses of the (ordered!) std::map and std::set with absl::flat_hash_{map|set}. After some careful reading it seems that there is actually no ordering dependency on these types, and the (drop-in) replacements perform slightly better. Overall this is not fixing a bottleneck, just a driveby thing. Change-Id: Ided695dc75676bd58515aa9382df0be0a09c565e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1220 Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: isomer <isomer@tvl.fyi> Tested-by: BuildkiteCI
2020-07-16 r/1324 feat(gs/shell): Add "nix build local" aliasGriffin Smith1-0/+1
For when I'm building stuff I don't want to build on whitby. Change-Id: Ic377fe0d68436a81ee479ff4aa029a51e0a5babf Reviewed-on: https://cl.tvl.fyi/c/depot/+/1215 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-16 r/1323 refactor(3p/nix/libexpr): Move EvalState:* implementations out of parser.yVincent Ambo3-150/+156
Several definitions of functions declared in eval.hh were previously implemented in parser.y, this moves them over to parser.cc. While this still isn't a reasonable place to keep them, the long-term fix is more likely to be that eval.hh needs to be split up. Before we get to that point however, this already gives us the ability to use tooling with this code. Change-Id: If06fb655325fe281564047ffab0a0a640428a0ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/1219 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-16 r/1322 refactor(3p/nix/libexpr): Extract static helpers out of parser.yVincent Ambo4-185/+202
Moves several of the static helper functions into a new parser.cc file. Once the rest of the code is usefully extracted, these will be moved to a private namespace. Change-Id: I0d7b53dcefe31bb5c6bad3ad7f5fcb48276bf799 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1218 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-16 r/1321 refactor(3p/nix/libexpr): Extract parser header out of Yacc fileVincent Ambo3-54/+49
First step (of many?) towards extracting all the inline code from the Yacc file and keeping it somewhere more accessible instead. Note that none of this code has previously been touched by a linter or formatter, pretty much ever, so as it is extracted it also undergoes similar changes to the whole codebase after the initial fork. Change-Id: If3b7181f22e3b3fd8c58dfa9befa7ee2896ea06d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1217 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-16 r/1320 refactor(3p/nix/libexpr): Use range insertion to merge nix::BindingsVincent Ambo3-18/+25
Instead of manually iterating over the two bindings to be combined, this adds a new static method on the Bindings class which merges two attribute sets by calling the range insertion operator over them. In some anecdotal tests, this can lead to a ~10% speed bump - depending on the specific operation. Change-Id: I5dea03b0589a83a789d3a8a0fc81d0d9e6598371 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1216 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1319 feat(tazjin/emacs): Rotate left screen counterclockwiseVincent Ambo1-2/+2
Change-Id: I0318e394b32c341a04471f687ee4c6d5beb29cd1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1214 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1318 feat(gws.fyi): Reimport cert after renewingGriffin Smith1-1/+9
Change-Id: Iebd5c9bc3a62838a862cc4b37b2f43f62ad8018e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1213 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-16 r/1317 style(3p/nix): Rename the project to tvixVincent Ambo2-4/+5
Changes the derivation name & README overview to say "Tvix" instead of "tazjix". The previous name was mostly intended as a joke, and a way for me to distinguish output paths. It's certainly not the intention to have a portmanteau with my name here, especially now that several people are contributing to the fork. Change-Id: Icface5484d52355111eca23b2f6bd3b9e5567275 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1212 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-16 r/1316 fix(gs/emacs): Prevent accidentally sending :qGriffin Smith1-1/+5
If I try to send a message containing :q to ERC, just drop it. Change-Id: I563044f0b837e2dbf4d5db94f9e906196ca91b49 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1211 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1315 feat(3p/nix/proto): Add QueryDerivationOutputNamesGriffin Smith1-0/+7
Change-Id: I5452d0f76441a61d70031f567c9cb75249569c2a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1201 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-16 r/1314 feat(3p/nix): Add proto for QueryPathInfoGriffin Smith1-0/+18
Change-Id: I10ec338ef2d5360954abdc5bb3d4789f34b031fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/1200 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-16 r/1313 chore(3p/nix): {query,clear}FailedPaths are obsoleteGriffin Smith1-2/+2
They're not mentioned anywhere on the client or the server. Change-Id: Ia78c8bde49326f6bf69b4aeded083cfd3235131f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1188 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1312 feat(3p/nix/worker.proto): Add QueryAllValidPathsGriffin Smith1-0/+3
takes nothing, returns paths Change-Id: I4087b9b5a25d9edc76b97d0a0f553259693cca3a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1187 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1311 feat(3p/nix/proto): Add additional worker-protocol operationsVincent Ambo1-48/+43
On the chopping block this time: * requests/responses that return one or more store paths, and contain nothing else, have been changed to use the same types (StorePath and StorePaths, respectively) * QuerySubstitutablePathInfos has been added. It should be noted that legacy Nix has two versions of this call, one that only queries a single info (deprecated) and one that queries multiple. We have only implemented the latter. * QueryDerivationOutputs has been added. Change-Id: Iccc9041e7064e141cf593467ecdcc327581c4056 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1186 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1310 fix(tools/perf-flamegraph): Get rid of most 'unknown'sVincent Ambo1-1/+1
This makes two main changes: 1) It disables profiling of things that aren't part of the invoked process (-a). This isn't particularly useful in most cases because it will show things like Chrome's VP9 decoding while you're profiling something else. 2) It tells perf about the debug symbol format, which for some reason isn't DWARF2 by default. Change-Id: Ida6a54b74f1ec635fec930db7e2a2aa039dd1443 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1185 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-16 r/1309 refactor(3p/libstore): Optimise nix::printStringVincent Ambo1-12/+37
Slight performance optimisation of nix::printString by copying chunks of the input string which do not need escaping as contiguous blocks. Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: I48bad90c8f2831ae4524c814a12b1982989922f9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1184 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu> Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1308 chore(tazjin/frog): Lower 'kernel.perf_event_paranoid' to -1Vincent Ambo1-1/+1
This allows access to profiling events by (almost?) all users. Change-Id: I10e31ea9978f0b552a3973c29e98b43a6db45d1d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1183 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-16 r/1307 style(3p/nix): Minor style fix in DrvInfo::setMetaVincent Ambo1-3/+2
Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: I0655ecc675239b3d90e5adc305c3f37c1a904cf5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1181 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1306 refactor(3p/nix): Compare attribute sets by pointer equalityVincent Ambo1-0/+6
Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: I418e9127c5d9d31559c59e461f17726ddbc051c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1180 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1305 refactor(3p/nix): Use a static empty Bindings for 0-element attrsVincent Ambo1-2/+11
A significant fraction of all created attribute sets are empty; hence this is an easy optimisation to make. Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: I0884194d04c1ee95b2b239a253515f2152bc0856 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1179 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-15 r/1304 feat(tools): Add script to flamegraph a commandGriffin Smith4-0/+18
Add tools.perf-flamegraph, which collects the base case execution of perf piped through stackcollapse-perf and flamegraph to flamegraph the execution of an external command via perf. Change-Id: I671fe254dc374b6cd7deca2d3bdea266164de025 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1176 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-15 r/1303 chore(3p/immer): Amend derivation to work in depotVincent Ambo1-5/+5
Change-Id: If580b76b7b7170ce7840d3a97c3a547c29405a6f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1174 Tested-by: BuildkiteCI Reviewed-by: Kane York <rikingcoding@gmail.com>
2020-07-15 r/1302 feat(gs/home): Install hyperfineGriffin Smith1-0/+1
Change-Id: Ia29e6c2c73d222496b7315d5a640e055fe908c25 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1178 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-15 r/1301 feat(gs/home): Add config for email notificationsGriffin Smith2-39/+127
This uses the notifymuch package pulled from https://github.com/NixOS/nixpkgs/pull/92797 right now, but eventually I would like to pull from a vendored version since there are some changes I would like to make to how the notifications are rendered and it looks like upstream is unmaintained. Change-Id: I3d1d355a09171a33677f095aa068f2499d50b37b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1177 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-15 r/1300 chore(bin): Alphabetize dispatch scriptGriffin Smith1-25/+25
Change-Id: Ia45d8a9de09a09d7399def6ce80dc8356c53c8fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/1175 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-15 r/1299 merge(3p/immer): Subtree merge at 'ad3e3556d' as 'third_party/immer'Vincent Ambo311-0/+74221
Change-Id: I9636a41ad44b4218293833fd3e9456d9b07c731b
2020-07-15 Squashed 'third_party/immer/' content from commit ad3e3556dVincent Ambo311-0/+74221
git-subtree-dir: third_party/immer git-subtree-split: ad3e3556d38bb75966dd24c61a774970a7c7957e
2020-07-15 r/1298 refactor(3p/nix): Revert VectorBindings implementationVincent Ambo3-237/+30
This reverts parts of the CLs splitting the backing implementation for Bindings and moves back to only the BTreeMap-backed implementation. Our evaluation has indicated that the Vector-backed implementation does not match the performance of the plain array used upstream, and in my view the complexity introduced by it is not worth the relatively small (single-digit percentage) performance increase with a pivot-point close to the number of attributes yielded by stdenv.mkDerivation. Going forward we will trial implementations of attribute sets backed by HAMTs, and investigate other mechanisms of speeding up the language. Some changes from the previous CLs are retained, for example the removal of insert_or_assign and the passing of capacity. Change-Id: I6eb4b075b453949583360755055c21a29d7ff642 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1172 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-14 r/1297 fix(gs/i3): remove implicit dependency on picom+peekGriffin Smith1-4/+4
This was done originally to make the snippet shareable, but is nice regardless. Change-Id: Ie51302a020cbb262b1e802e94786ebb8a9f843c8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1170 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 r/1296 feat(gs/i3): Add volume to i3statusGriffin Smith1-6/+7
Change-Id: I1d3081653b0e69bce88673a4d4edf16cb483f681 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1169 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 r/1295 feat(gs/system): configure whitby as a remote builderGriffin Smith1-0/+13
big cores wow Change-Id: I0fa14834365202f1c9a8ff69243f129c8acfe13d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1168 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-14 r/1294 chore(gs/system): reformat tvl.nixGriffin Smith1-4/+12
Change-Id: Icc2f953450956a01b32872e6575976e49f1be0b4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1167 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 r/1293 feat(gs/emacs): Configure for C++ developmentGriffin Smith4-0/+185
Vendor the google-c-style module, and configure lsp-mode to run the clangd wrapper script for hacking on tvlnix Change-Id: I8d1ac2f30c9708501e0840ef3d53fe479bc39fa7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1166 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 r/1292 fix(tvldb): unbreak quote grabbingeta1-3/+4
Change-Id: Ib03561bbcc154aeee50a592332a2763ff784bb1d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1165 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org> Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 r/1291 feat(owothia): make more things configurable, bettereta1-20/+29
- You can now configure server, port, password, nickserv password, and nick. - eta doing haskell: https://theta.eu.org/lx/selif/8pu34rll.jpg - (props to grfn for basically writing half this CL) Change-Id: I128ae01f5879df730a6404402ef16bf1f3429f98 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1164 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-13 r/1290 feat(gs/home): Install C++ development toolsGriffin Smith1-0/+5
Change-Id: I959e257e4c2f7c640bedfe5f8385f33ff02215d4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1136 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-13 r/1289 refactor(3p/nix/libexpr): Backport upstream VectorBindings merge sortVincent Ambo1-17/+28
Since one of the two implementations essentially uses the same shape as the upstream Bindings, we backport their merge sort implementation to ensure that we're doing the same thing semantically. Paired-With: Luke Granger-Brown <git@lukegb.com> Paired-With: Vincent Ambo <mail@tazj.in> Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: I0d865897991eec0c4dd84d9bd0415cd1ca437792 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1162 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-13 r/1288 fix(3p/nix/libexpr): Remove default & copy constructors for VectorBindingsVincent Ambo1-1/+2
Paired-With: Luke Granger-Brown <git@lukegb.com> Paired-With: Vincent Ambo <mail@tazj.in> Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: Ief2e59d461452ce599abc63f6ebcfa07a7062491 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1161 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-07-13 r/1287 fix(3p/nix/libexpr): Fix post-increment operator in BindingsIteratorVincent Ambo1-1/+2
We accidentally returned the incremented iterator in the post-increment, this fixes it. Paired-With: Luke Granger-Brown <git@lukegb.com> Paired-With: Vincent Ambo <mail@tazj.in> Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: I36c79eb56359bb12a78ad3489e7d7d2eb2053510 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1140 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-13 r/1286 refactor(3p/nix): Remove unused insert_or_assignGriffin Smith2-26/+0
This function in never called, so let's just remove it Paired-With: Luke Granger-Brown <git@lukegb.com> Paired-With: Vincent Ambo <mail@tazj.in> Change-Id: I79125866254d90dd0842bc86830d2103ac313cb6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1125 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-13 r/1285 feat(3p/nix): Statically pass bindings capacity where possibleGriffin Smith5-31/+39
To aid in making the decision of where to (currently just statically) use a vector or btree as the backing implementation, add an extra constructor argument to Bindings::NewGC for a capacity, and use a (currently hardcoded at 32, for no good reason other than it felt like a reasonable number) pivot to switch between our possible backing implementations. Then, update all the call sites where it feels reasonable that we know the capacity statically to *pass* that capacity to the constructor. Paired-With: Luke Granger-Brown <git@lukegb.com> Paired-With: Vincent Ambo <mail@tazj.in> Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: I1858c161301a1cd0e83aeeb9a58839378869e71d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1124 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: isomer <isomer@tvl.fyi>