about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2021-01-13 r/2084 feat(gs/home): Install ngrokGriffin Smith1-0/+1
Change-Id: If4a8d914e110699f87e7459685fc0b620e0f0203 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2358 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-13 r/2083 fix(gws.fyi): Set config.allowUnfree in the shell.nixGriffin Smith1-1/+1
Necessary for tarsnap (for now), though I'm probably gonna get rid of that sooner rather than later. Change-Id: I4614a8e4ea62edd247a0fead6ae38d1f870b36f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2357 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-13 r/2082 feat(gs/emacs): Configure lsp-mode for rustGriffin Smith2-4/+18
- add <> as evil-surround pairs (this isn't working atm) - Make lsp-ui-doc frames a reasonable size - Use clippy as the cargo watch command for rust-analyzer Change-Id: Ieee2633cbb332af6513af6b7484adeef5bdb3e06 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2356 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-13 r/2081 feat(gs/emacs): Disable flycheck-mode in clojure-modeGriffin Smith1-1/+5
None of the flycheck checkers work, really, and even if they did I ignore them most of the time. Change-Id: Iebb0b5202207f1fbada197bb5667fa8431ab879c Reviewed-on: https://cl.tvl.fyi/c/depot/+/2355 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-13 r/2080 feat(gs/emacs): Bind original org-clock-in bindingGriffin Smith1-4/+8
This is too deep in my muscle memory, and actually fairly ergonomic on my keyboard Change-Id: I2e57c3221a52f00f62e5a7427bdfae6fe37ff850 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2354 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-13 r/2079 feat(gs/emacs): Add new snippets for rust-modeGriffin Smith2-0/+20
Add snippets for async tests and benchmarks Change-Id: Ic1ad46c7f76b1e68c4043a13e821583195c661ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/2353 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-13 r/2078 chore(3p): Bump NixOS channels to 2021-01-09Vincent Ambo7-15/+22
Your regularly scheduled channel update, but slightly more regular than before. Included fixes: * 3p/emacs: Pick telega.el from stable channel, unstable is broken. * glittershark/fprintd: Compile with gcc9, since build fails with the new default of gcc10 * glittershark/fprintd: Use a global overlay for the fprintd package until https://github.com/NixOS/nixpkgs/pull/108962 lands in nixos-unstable * glittershark/home: Don't install rr, as it's not building with gcc10 Co-Author: Griffin Smith <grfn@gws.fyi> Change-Id: Ia715fef64a405a220049fc540017356fa7370e0b Reviewed-on: https://cl.tvl.fyi/c/depot/+/2341 Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
2021-01-11 r/2077 feat(u/riking/dotfiles): enable SHOW_DATETIME for xsecurelockKane York1-1/+1
Change-Id: I095c38ce2d9939836fa285d33b7ab0129cc695ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/2352 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2021-01-11 r/2076 feat(u/riking/dotfiles): commit regolith configKane York6-0/+9
Change-Id: Ia21885adc5200ea60e309767fa27123af77ffa10 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2351 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2021-01-11 r/2075 chore(third_party): move nixkpgs-exposed to subdir to fix OWNERSProfpatsch9-12/+13
The owners plugin should in theory be able to match on subdirs (at least according to its documentation, but it doesn’t and nobody has any idea how to debug it. We already know that subdirectories work just fine, so let’s go the path of least resistance because frankly, I couldn’t care any less. The haskell overlay also moves to the subdir, this way both can be changed in the same go by the same people. Change-Id: I7d98f48afa649ad2c58e38e674e1c4df09039c1c Reviewed-on: https://cl.tvl.fyi/c/depot/+/2347 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-01-11 r/2074 chore(sterni): init user foldersterni1-0/+3
Change-Id: I34c71c72778f35df9e613314d5a99b14a5030975 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2350 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-01-11 r/2073 docs(REVIEWS): change linked commit to one editing the slapd attrsetsterni1-1/+1
The old ldif file is no more, so linking a more up to date commit seems more helpful. Fixes #81. Change-Id: If9521020c6660e2ee1cfe0c9d9fce4bef2417ea8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2349 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-01-11 r/2072 feat(tvl-slapd): add sterni to slapdsternenseemann1-0/+5
Change-Id: I4b832f60c69e1bdd1a6bf0595d523c052aa8f794 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2348 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-01-11 r/2071 feat(users/Profpatsch): add script for randomly evaling nixpkgsProfpatsch3-6/+37
Running this after a codified refactor acts as a good smoke test, if a big subset of packages is broken or any central packages are broken, this should find them quite quickly, thanks to randomness™. Just let it run for a few minutes and check the errors that pop up. Change-Id: I1505dd31ca25b29254474a15cd6cb71d9743038a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2346 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-01-10 r/2070 feat(users/Profpatsch): add a rewriter for lib.stdenv changesProfpatsch3-0/+187
This is in order to advance the rewriting from stdenv.lib to lib. https://github.com/NixOS/nixpkgs/issues/108938 The hard part about changing the argument is that a package might not include lib in its arguments, which is why I use hnix to check whether lib is included and add it to the import list if it doesn’t already exist there. So far, only the really common pattern of meta = with stdenv.lib; is rewritten. Change-Id: I370f0a321b0e5a5bd21ec21fc7cefdd65ec845ed Reviewed-on: https://cl.tvl.fyi/c/depot/+/2345 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-01-10 r/2069 chore(tazjin/emacs): Remove org-journalVincent Ambo2-24/+0
I haven't used this much in the last months and it's causing issues via some hook now, so bye bye. Change-Id: If2b321887569b31c0ac7ad3fdd1b9c1d9f7b69f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2344 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-01-10 r/2068 refactor(3p/exwm): Inline build instructions instead of overridingVincent Ambo1-3/+18
Change-Id: If16a57e8dd905c8f709bee70dac575509dd22b02 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2343 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-01-09 r/2067 feat(tazjin/nisp): Add initial source-to-source transformVincent Ambo1-0/+137
... this isn't finished yet, in particular it lacks: * better support for attribute sets * support for defining functions that take attribute sets Change-Id: Ia897fccd9d2b674b6ed12907ae297bfdcc86db48 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2237 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2021-01-09 r/2066 fix(3p/exwm): Work around Chrome input focus issueVincent Ambo1-1/+2
In recent Chrome versions, EXWM has some issue around handing focus back to the application. There is a Github issue about this and this commit implements the suggested workaround, which I've verified locally. Change-Id: Ib451e8d8b34921665c3015853850d12e04612929 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2342 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-01-09 r/2065 chore(3p): Bump NixOS channels to 2020-12-28Vincent Ambo7-27/+31
Changes: * ops/nixos/tvl-slapd: The NixOS module for OpenLDAP has removed the ability to configure OpenLDAP directly and now forces users to use some kind of weird Nix->OLC mapping that is mostly undocumented. This moves the config we need to the new format in a way that may or may not work and does the other arbitrary dance steps that someone decided to impose on us. Note that this now throws lots of warnings, but I can't be bothered to fix them. * 3p: Random package removals accomodated * users/glittershark: Pin grfn's kernel to 5.9, because the CK patch is not yet updated for 5.10 * users/glittershark: Update vendor hash for pg-dump-upsert, I suspect this changed because of something in the Go build machinery in nixpkgs. The deleteVendor flag also has no effect anymore and has been removed. * users/glittershark: agda build is broken, commenting out development home-manager environment until it can be fixed * third_party/haskell_overlay: updating random needs upper boundarles of a few dependencies relaxed (curse them) * third_party/gerrit_plugins: for some cursed reason the fixed-output hash of the gerrit owners plugin fetchgit changed, updated. Same for the checks plugin. Change-Id: Ica37995fe8039d3ba80eab643867f98795c56734 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2295 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2021-01-08 r/2064 feat(third_party): separate nixpkgs whitelist to allow more ownersProfpatsch3-178/+189
The exposed package list has to be changed/amended quite frequently, every time somebody wants to use a package not yet in that list and thus has to whitelist it here. This effectively requires a superowner review every single time, which is an unreasonable blocker for many CLs. I thus propose moving the list into a separate file (I called it `nixpkgs-whitelist.nix` which is more descriptive than `exposed.nix` and letting anybody add themselves to the OWNERS on that file. Change-Id: Ied8bac066e4b9a91ddd642db805fe33dc37872c9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2323 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-01-06 r/2063 feat(tazjin/rlox): Implement for loops via desugaring to whileVincent Ambo1-0/+62
Change-Id: I31a93efcc8e0c2bcb8549e2a2c05bb58d2dc74ca Reviewed-on: https://cl.tvl.fyi/c/depot/+/2326 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-01-06 r/2062 feat(tazjin/rlox): Parse & interpret while statementsVincent Ambo2-0/+40
Change-Id: Iee772274de95dfd6a6d4af973402859aeda17b1d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2325 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-01-06 r/2061 feat(tazjin/rlox): Parse & interpret logical operatorsVincent Ambo2-2/+55
Change-Id: I1a7d0eda61f7f077b820dc0d2c2516e204966962 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2324 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-01-06 r/2060 feat(tazjin/rlox): Interpret if statementsVincent Ambo1-1/+13
Change-Id: Ic6aed29bec42098eb07e1ba9eb01dbcaae8d11e3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2322 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-01-06 r/2059 feat(tazjin/rlox): Parse if statementsVincent Ambo3-1/+45
Change-Id: I2352d75a3f02d65a5a2d04fb2cc4daa50f11ca1e Reviewed-on: https://cl.tvl.fyi/c/depot/+/2321 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-01-03 r/2058 feat(Profpatsch/netencode): add netencode-mustacheProfpatsch3-1/+123
A little executable, combining the netencode and mustache libraries to make easy templating from the command line possible. Combined with the nix netencode generators, it’s now trivial to populate a mustache template with (nearly) arbitrary data. Yay. Change-Id: I5b892c38fbc33dd826a26174dd9567f0b72e6322 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2320 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-03 r/2057 feat(Profpatsch): dump netencode spec & parserProfpatsch4-0/+761
The netencode standard, a no-nonsense extension of netstrings for structured data. Includes a nix generator module and a rust parsing library. Imported from https://github.com/openlab-aux/vuizvui/tree/e409df3861f48de44d0e37277ce007e348a7a0dc/pkgs/profpatsch/netencode Original license GPLv3, but I’m the sole author, so I transfer it to whatever license depot uses. Change-Id: I4f6fa97120a0fd861eeef35085a3dd642ab7c407 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2319 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-01-03 r/2056 feat(Profpatsch/writers): add rustSimple writersProfpatsch4-10/+110
A bunch of writer functions wrapping the `buildRustCrate` functionality of nixpkgs. Can be used to write inline rust code, or rust code read from files with `builtins.readFile`. Change-Id: I9d74e9381b858b485925e4dc3fbb7fc392877c0a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2318 Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-03 r/2055 feat(Profpatsch): add netstring helper function & python libProfpatsch2-0/+103
Simple helper function to generate a netstring that is a list of key-value pairs, to serialize a nix dict. Also adds a python lib to read the serialized form into a dict again. Change-Id: I306c0cfd51640c0658d32c8d3a4f3d332ba448f0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2315 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-01-03 r/2054 fix(Profpatsch/writers): ignore the most annoying flake errorsProfpatsch1-3/+22
Change-Id: I3b8f51ff0dcdd842811e2fd9876cd4925c64f135 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2314 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-01-03 r/2053 feat(Profpatsch/writers): add yants types to python3 writerProfpatsch1-3/+8
Uses the new restrict type to make sure flake errors start with an E. Change-Id: I30369ade28e1ef612c91a368de2d5b128e6cf2a9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2313 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-01-03 r/2052 feat(users/Profpatsch): add writers.python3Profpatsch2-6/+31
This is a reexport of nixpkgs.writers.writePython3, but the libraries are passed the package set, like with other writers. Change-Id: Ia5a2ed1b6b329700836a8575d2bde768bf64fb31 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2311 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-01-03 r/2051 feat(users/Profpatsch): add python3Lib writerProfpatsch3-0/+63
Smol writer to create a python lib directly from a nix string. The resulting library can be consumed by the writePython3 writer. Change-Id: Id3d793564d230b38a08f65140bda4287285e1a72 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2310 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-01-03 r/2050 feat(nix/yants): add restrictProfpatsch2-0/+30
`restrict` uses a predicate function to restrict a type, giving the restricting a descriptive name in the process. First, the wrapped type definition is checked (e.g. int) and then the value is checked with the predicate, so the predicate can already depend on the value being of the wrapped type. Change-Id: Ic3edde45a8f34c31bc164414580d0a1aa5a821d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2312 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: tazjin <mail@tazj.in>
2021-01-02 r/2049 feat(nix): add runExecline.localProfpatsch2-17/+17
Similar to runCommandLocal, this turns off substitutions and prefers building locally. Change-Id: I823b34c7fc54990b54a82324172c299aeffdbf41 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2309 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-01-01 r/2048 feat(emacs-tree-sitter-move): shell and json test filesProfpatsch2-0/+28
Change-Id: Idadb58a935abdbfa99327ba79de8b33d38b8c722 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2264 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-01 r/2047 fix(emacs-tree-sitter-move): get named parents & check for nilsProfpatsch1-8/+16
If there was no parent, the while loop would try to get the parent of a `nil`, which crashes and burns. We now also ignore any non-named parents; this might be unnecessary, if tree-sitter parent nodes are always named, but I don’t know that at the moment and it’s not documented very well, so better safe than sorry. Change-Id: Ia72ee9241b885ab312f8ecf7a8fbfece7eea8f1b Reviewed-on: https://cl.tvl.fyi/c/depot/+/2263 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-01 r/2046 feat(emacs-tree-sitter-move): load more than one tree sitter grammarProfpatsch2-8/+23
Change-Id: I43b8ddb180c056f1b8c650ccc915ec41bae83960 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2262 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-01 r/2045 feat(emacs-tree-sitter-move): add a simple down movement as wellProfpatsch1-4/+4
Always goes to the first child for now. Change-Id: I1d00b2f2013ba7e5f88622d1de3c99500e5f1a7a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2261 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-01 r/2044 feat(emacs-tree-sitter-move): left and up movements, skip unnamedProfpatsch2-6/+22
We skip intermediate nodes that do not have any siblings, because they are irrelevant to navigation and just add extra keypresses without any highlight changes. This might not be the best choice, we’ll see. Change-Id: I75fbf79aa7915172e426442a076d57cfbebf5421 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2260 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-01 r/2043 feat(emacs-tree-sitter-move): Add tree-sitter-move-resetProfpatsch2-20/+27
Resets the cursor to the named node under the cursor. `-right` does not do it anymore, so it’s possible to navigate on higher levels of the tree instead of always resetting to a leaf. Change-Id: Id330854c72ea24da0cc8611f30f5617e0f127c1b Reviewed-on: https://cl.tvl.fyi/c/depot/+/2259 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-01 r/2042 feat(users/Profpatsch): moving around via the tree-sitter parse treeProfpatsch6-0/+154
Has a little setup to get the cursor position and map it onto a tree sitter node. The current node is saved in a cursor variable, and a highlight overlay marks the range of the current node in the buffer. Change-Id: I0af56115f928732e993fbefe978a246ca7c757ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/2258 Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-01-01 r/2041 chore(OWNERS): move Profpatsch up to nix/Profpatsch4-9/+0
I can review all nix-related changes. Change-Id: I13e5bb7b523d4b9c79dbe2083d9e23c217466651 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2308 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-01-01 r/2040 feat(nix): add mergePatchProfpatsch1-0/+186
Change-Id: Id6a9ecbfb04886e6d96750b1451c29dc3f68154e Reviewed-on: https://cl.tvl.fyi/c/depot/+/2307 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-12-31 r/2039 refactor(tazjin/rlox): Hold shared environment ptr in interpreterVincent Ambo1-17/+37
Change-Id: Ia4c4ef330be431a344d42bc00d3a518825fb9399 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2305 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-12-31 r/2038 feat(tazjin/rlox): Implement block scope in interpreterVincent Ambo1-1/+28
This is currently a bit hacky because of the environment wrapping/unwrapping, will refactor this to just keep a single Rc around instead. Change-Id: Iad1cbbe35112d0329248d4655a09260fc60644c8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2304 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-12-31 r/2037 feat(tazjin/rlox): Implement block parsingVincent Ambo3-6/+23
Change-Id: I1b7235ed71fa36120984a36f22cd564f59581352 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2303 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-31 r/2036 refactor(tazjin/rlox): Unify parser::Statement & parser::DeclarationVincent Ambo2-27/+20
Change-Id: I6f21b246eb9d3bf760edb3220ce6be5de5b05b08 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2302 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-31 r/2035 feat(tazjin/rlox): Add support for scoped environmentsVincent Ambo1-8/+26
Adds scoped environments using a sophisticated structure known as an SRPT, which stands for "shitty parent pointer tree". Change-Id: I62f66aabe6eb32ea01c4cabcca5b03cfefcc28ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/2301 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI