about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
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
2020-12-31 r/2034 refactor(tazjin/rlox): Separate assignment and definitionVincent Ambo1-1/+14
So that: > var a = 15; > b = 12; Error in program: Error { line: 0, kind: UndefinedVariable("b") } > a = 12; print a; Number(12.0) Change-Id: I687e95ccc2d3084e39a71bd452656ae981c95191 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2300 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-31 r/2033 feat(tazjin/rlox): Implement mutable variable assignmentVincent Ambo3-33/+74
Change-Id: I56db10a5ac26958ae27a8d4c8fa7b8f8285bc7e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2299 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-31 r/2032 refactor(tazjin/rlox): Retain interpreter state in REPLVincent Ambo2-30/+30
Change-Id: Id60760e241ad0e45871b48e499f58e9831d57316 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2298 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-12-31 r/2031 feat(tazjin/rlox): Add global variable support in interpreterVincent Ambo2-76/+137
Change-Id: I4134cf78dc3934a517ad0c848ae1d3729abaf882 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2297 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-12-26 r/2030 chore(whitby): Double number of build usersVincent Ambo1-1/+1
more = betterer Change-Id: I6d5414d6ebb087e7f9fb912d5a514c31ebcd8b7e Reviewed-on: https://cl.tvl.fyi/c/depot/+/2296 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-12-23 r/2029 chore(3p/immer): Remove vendored copy of immerVincent Ambo311-74216/+0
We ended up dropping the use of this library again. Change-Id: I2c44cd22a6128d23f87a582402bf5fb84991d608 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2292 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2020-12-23 r/2028 refactor(tvix/libexpr): Remove Bindings::SortedByKeys()Vincent Ambo5-65/+47
Since we don't have a Bindings implementation with unstable order this function is not required, as its callers can just iterate over the attributes instead. Change-Id: I01b35277b5a2dde69d684bc881dbd7c0701bcbb3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2291 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-12-22 r/2027 feat(tazjin/rlox): Parse variable assignment & accessVincent Ambo3-3/+46
Change-Id: I9894d76716d739e85a4757d9e658f884228e7f52 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2290 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-22 r/2026 fix(tazjin/emacs): Don't override CARGO_INCREMENTALVincent Ambo1-1/+0
Change-Id: Ib25c45795cb8aea87fc7e22343af6710a6339d32 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2289 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-22 r/2025 refactor(tazjin/rlox): Introduce declarations in parserVincent Ambo2-15/+36
Change-Id: I873fdd53319ec36da18926d9477e809a69dbace7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2288 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-22 r/2024 feat(tazjin/rlox): Add support for statementsVincent Ambo3-35/+73
First part of https://craftinginterpreters.com/statements-and-state.html Supports print statements, as well as evaluation for the sake of it (i.e. future side-effects). Change-Id: Ic6653b568f98d6cfe3f297615b7113c0ba1d9a70 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2287 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-20 r/2023 fix(whitby): Include lukegb's & grfn's SSH keys in initrdVincent Ambo1-3/+4
Change-Id: I8921d645b1a81510e04314e519195c1c01d3fd14 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2286 Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
2020-12-20 r/2022 fix(whitby): Disable git's gc.autoDetach featureVincent Ambo1-0/+6
This feature can cause object removal to happen while the git folder is in use in Buildkite, causing CI to fail semi-reegularly. Change-Id: Ide1a9b2f1761be029e97a058c1983b4cff5e27bf Reviewed-on: https://cl.tvl.fyi/c/depot/+/2285 Tested-by: BuildkiteCI Reviewed-by: multi <depot@in-addr.xyz>
2020-12-20 r/2021 fix(tazjin/emacs): Bind notmuch shortcuts via EXWMVincent Ambo2-3/+5
Change-Id: I082ee9f75f9e0ef486bc240b4aeda3dec8e79019 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2284 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-20 r/2020 chore(tazjin/emacs): Remove #'fefes-blogVincent Ambo1-5/+0
It's not worth reading anymore, he's getting old. Change-Id: Ia9bac99169949c3f057c0e9c526cbc99e925af76 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2283 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-20 r/2019 feat(tazjin/rlox): Add runtime type error handlingVincent Ambo2-14/+32
Change-Id: I0d52bc9ff5be6421cb4131265ed28ce1ea7d8ff3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2282 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-20 r/2018 feat(tazjin/rlox): Implement tree-walk interpreter of exprsVincent Ambo2-10/+74
This is only a subset of the Lox spec so far. It implements the language up to the runtime error chapter on https://craftinginterpreters.com/evaluating-expressions.html Change-Id: I295dbf4b6544420d6fe80b6aaba661fb21acdea6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2281 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-20 r/2017 fix(3p/gerrit): fix left padding on account chipLuke Granger-Brown2-0/+112
We don't have an avatar provider at the moment, so it's wonky. I'll make this a CL upstream as well once my work laptop has charged. Change-Id: I79754560b2de6981508ba7e10faf6b50cb9c3f8f Reviewed-on: https://cl.tvl.fyi/c/depot/+/2266 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-12-20 r/2016 chore(3p/gerrit): bump to latest version deployed on gerrit-reviewLuke Granger-Brown8-14/+14
Change-Id: I0aee39b21346f378964bab69bd903e8f43b7e7e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2265 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>