about summary refs log tree commit diff
path: root/users/Profpatsch
AgeCommit message (Collapse)AuthorFilesLines
2023-01-08 r/5632 feat(users/Profpatsch/netencode): Add initial Haskell parserProfpatsch7-45/+169
A simple categorical parser that does not implement Monad, and does not contain an `m` and some rudementary error message handling. In the future I’d probably want to wrap everything in an additional `m`, so that subparsers can somehow use `Selective` to throw errors from within `m` that contain the parsing context if at all possible. Hard to do without Monad, I have to say. Not even stuff like `StateT` works without the inner `m` implementing `Monad`. Change-Id: I1366eda606ddfb019637b09c82d8b0e30bd4e318 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7797 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-01-08 r/5631 feat(users/Profpatsch/arglib/netencode): add with-argsProfpatsch1-49/+64
Wraps a command in some arguments via arglib. Also refactor the module to be a `let`. Change-Id: Ie9b64f7d40c57a4e57bd4d6c411bef5ef57a2b59 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7796 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-01-07 r/5628 docs(users/Profpatsch): notes for a tagtime reimplementationProfpatsch1-0/+18
Change-Id: I2c225a9f023b8694c292f4fb962b88db6e3cce07 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7795 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-01-07 r/5627 feat(users/Profpatsch): global shell for my userdirProfpatsch4-0/+86
For my tooling, I want to be able to use vscode language servers for all subprojects, and the best ways to do that I’ve found so far is to add a global shell.nix which contains the transitive closure of all dependencies I need. This is not /nice/ per se, but it does the job with minimal effort right now and gives me a good development environment for all these crazy & dumb experiments in here. Change-Id: I717a72f490e9d58d45e4e15e9ba604c36b299814 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7794 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-01-07 r/5625 feat(users/Profpatsch/my-prelude): Add Test.hsProfpatsch3-0/+117
Change-Id: Icdbbd310243baf2dc9a0038d9ea5eee7c65be421 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7793 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de>
2023-01-07 r/5624 chore(users/Profpatsch): move rust exec-helpers to own subdirProfpatsch5-7/+21
This is so we can use the rust language server for the file. Change-Id: I8a2fe15ea67fd0e26814fda57bf0cace0d264cae Reviewed-on: https://cl.tvl.fyi/c/depot/+/7792 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-01-06 r/5618 feat(users/Profpatsch): add writeHaskellInteractiveProfpatsch2-1/+14
Instead of compiling the module, run it in interpreted mode. Saves on linking times and can probably be driven to do cooler things in the future, like calling functions directly via an environment variable or something. Change-Id: I9c835005462cdd86055fb7702630a44f78c36107 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7781 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-01-05 r/5593 feat(users/Profpatsch/mailbox-org): prepare adjusting filter configProfpatsch2-47/+139
In the end, it should be possible to write a single config which is pushed to the service to steer which emails arrive. This implements some helper functions and some more endpoints. We implement Semigroup/Monoid for labelled tuples. Change-Id: I48bfd311e4a7bba5bc08a9681d823a6a7d5175a8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7727 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-01-02 r/5563 feat(users/Profpatsch/my-prelude): show Label name in Show instanceProfpatsch1-2/+10
Before: `show (label @"foo" 23) => "Label 23"` Now: `show (label @"foo" 42) => "Label @"foo" 42" Also with good bracketing due to showsPrec (and correct string escaping of the label). Change-Id: Ia5448ab9028ef5ab6c0b53407fe4df1d0e40ff5f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7719 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-01-02 r/5562 feat(users/Profpatsch/mailbox-org): list & update filtersProfpatsch7-40/+484
One step closer towards a declarative description of filters. In the end, the filters should be updated by their `rulename` field. This implements a simple scheme where we list all filters, parse some of their fields, use those fields to determine whether we want to change the filters, and then only update the filters where we changed something. Unfortunately, we can only update the filters one-by-one (a common mistake in APIs). Pulls in some modules for Json parsing that I like to use, and an `ErrorTree` abstraction over `Error` and `Data.Tree`. Change-Id: Iea45d5aa0a3fee7ec570f06d3e77009769091274 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7720 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-01-02 r/5561 fix(users/Profpatsch/lorri-wait-for-eval): actually search for shellProfpatsch1-20/+19
The function & error message said it was searching upwards for shell.nix, but it didn’t actually search upwards. Change-Id: I7b81d20a1cc19fdccdc7828427cf17b42e57f414 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7718 Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-01-01 r/5560 feat(users/Profpatsch/mailbox-org): initProfpatsch7-45/+334
A smol little tool to talk to the mailbox.org backend. This is handy for eventually setting stuff like email filters. Their API is absolute crap, but we’ll deal with it. Updates the prelude & adds some pretty printing helpers. Change-Id: Ie3688f8ee1d7f23c65bcf4bfecc00c8269dae788 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7717 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-01-01 r/5559 chore(users/Profpatsch/cas-serve): remove dependency on superrecordProfpatsch6-46/+138
The use of superrecord here can be replaced by simple labelled tuples. Change-Id: I23690cd0b88896440521fe81e83347ef4773d4a0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7713 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-12-29 r/5543 chore(3p/sources): Bump channels & overlayssterni7-16/+7
The main change is that nixpkgs updated to GHC 9.2 and Stackage LTS-20, so we suffer from a bit of churn. * //3p/overlays/haskell: - use updated dhall-nix patch for hnix 0.16 - use superrecord fork with fixes for GHC 9.2 - use graphmod-1.4.5.1 which has support for GHC 9.2 * //users/Profpatsch: relax constraints on base in Haskell pkgs * //users/Profpatsch/cas-serve: inherit superrecord from 3p * //users/grfn/xanthous: - //3p/overlays/haskell for 8.10.7: * Provide missing dependency of binary-orphans. Fix already commited upstream as e238c3fdaab710a2ce0135e5a77cd7e6bb023a22, can be dropped when channel advances. * Downgrade to brick 0.71.1, the latest version xanthous supports. - Adjust to generic-arbitrary >= 1.0, providing Arg constraints where necessary. - Increase constraint-solver-iterations to 6 (default 4), so Xanthous.Command and Xanthous.Data can be typechecked. - Drop NFData instances for Key and Modifier which have been added to vty upstream. Change-Id: I2170438c2ce8130b65f1a9fe07c4fecab5683d66 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7654 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-12-29 r/5539 feat(users/Profpatsch/haskell-module-deps): initProfpatsch2-0/+55
Three small helper functions that can display module graphs of haskell projects. Change-Id: I7395ffc8b025f4322efc6c1e494e6a6a0145342c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7675 Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-12-29 r/5538 fix(users/Profpatsch/alacritty): Add a 0 to scrollback bufferProfpatsch1-1/+1
Change-Id: I3bf2c2417042a234f851e2d1de57c4c0a8044331 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7674 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de>
2022-12-29 r/5537 refactor(users/Profpatsch/netstring): use toplevel aliases as implsProfpatsch1-7/+2
Apparently I had forgotten that these already exist on the toplevel. At one point I should unify the two namespaces, but for now at least acknowledge that they are the same functions. Change-Id: Ie7d14de0b65f6c750d97630798c65f777b3eda8c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7673 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-11-06 r/5258 chore(tools/rust-crates-advisory): move custom checker to user dirsterni2-0/+187
Profpatsch originally implemented an advisory checker from scratch in Rust. We now ended up just using cargo-audit for the global checks exposed via CI and the custom implementation is unused. To clean up //tools/rust-crates-advisory a bit, we can move the unused parts to his user directory. Change-Id: Iacbd27c163edd07c804220fd1b3569c23aebd3e7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7171 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-09-25 r/4966 feat(users/Profpatsch/netencode.rs): parse multiple stdin valuesProfpatsch4-31/+104
Adds support for parsing multiple netencode values from stdin. This is overly complicated for my tastes, but I don’t see a better way of writing this logic that does not read all of stdin before starting to parse the first value. A kingdom for a conduit. Change-Id: Ia4f849d4096c43e887756b756d2a85d7f9cd380a Reviewed-on: https://cl.tvl.fyi/c/depot/+/6631 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-09-19 r/4922 chore(gerrit): migrate OWNERS files to code-owners styleLuke Granger-Brown1-4/+4
Change-Id: Iacc521dfdd4b4a2d5cef3920cf8189bcce35a488
2022-09-16 r/4880 feat(users/Profpatsch): init ical-smolifyProfpatsch3-0/+158
ical, but smol to fit in qr Change-Id: I37f99a20cfc96b85778a097b7c4f70923f026cd4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6617 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-09-01 r/4564 docs(users/Profpatsch/netencode): add docstrings to Netencode.hsProfpatsch1-3/+46
Change-Id: I509ea7949990e8c652133bd9ef21243a41f58e44 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6202 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-08-30 r/4530 chore(3p/sources): Bump channels & overlayssterni1-1/+2
* //users/Profpatsch/writers: adjust for API change in makePythonWriter: Since it has become cross-aware, we also need to provide the buildPackages python set we want to use. Change-Id: I4a201647281827ad983eb2dda6f6305f1ed824e7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6196 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-08-22 r/4449 chore(3p/sources): Bump channels & overlayssterni1-1/+1
* //users/tazjin/predlozhnik: bump wasm-bindgen & run `cargo update` * //users/Profpatsch/writers: use proper keyword syntax to make make flake8 happy. * //third_party/nixpkgs: pick binaryen from stable channel Change-Id: Ia711d8c396aa09b78413d80f35eedf63fa315596 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6118 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-08-22 r/4448 feat(users/Profpatsch): init haskell arglib-netencodeProfpatsch3-0/+64
Mirrors the rust exec-helpers Change-Id: I96f211d6545e228b8ae0c1dce4e60e6f6867690c Reviewed-on: https://cl.tvl.fyi/c/depot/+/6117 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-08-22 r/4447 feat(users/Profpatsch): init haskell exec-helpersProfpatsch3-0/+80
Mirrors the rust exec-helpers Change-Id: I8fba49525949a8f38ca8c215e2ec7ba9d97d3bf9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6116 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-08-22 r/4446 fix(users/Profpatsch/my-prelude): use exactSourceProfpatsch1-1/+4
Change-Id: I1b797fb69f69e09f2dda99fce2f12adef0ac2ad2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6115 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-08-22 r/4445 feat(users/Profpatsch): init netencode-hsProfpatsch3-0/+445
Haskell implementation of the netncode parser & generators. Change-Id: I904df752e78641110af2857e71d8206bf432d427 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6114 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-07-17 r/4304 feat(users/Profpatsch/cas-serve): initProfpatsch9-0/+928
A dumb little daemon that stores arbitrary files by content-hash, and exposes a randomly generated URL by which the file can be fetched again. If the same file is uploaded twice, it will only be stored once. CAS hashes are not exposed to the user, so they can’t figure out whether a file they know is in the database. Change-Id: Ie57bc09d429a9f31c8f0fc5f63f78d6a84d650f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5952 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-07-01 r/4270 docs(users/Profpatsch/netencode): Parser security considerationsProfpatsch1-0/+18
Netencode parsers should probably set an upper length limit. Change-Id: Ibe65f2b59058106b720867a83435bf45660f1adf Reviewed-on: https://cl.tvl.fyi/c/depot/+/5908 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-06-30 r/4265 feat(users/Profpatsch): add lorri-wait-for-evalProfpatsch3-0/+217
A small exec wrapper which will query the lorri daemon for the last few events, and if it sees a build running for the current project (searching upwards for shell.nix), it will wait for the build to finish before executing the command (in the new direnv environment). TODO: should patch lorri so that it can provide this information in a better digestive format; right now it might have a later evaluation running, so it’s hard to know which completion to wait for … Change-Id: I8fa4a10484830a731fe3ec58f2694498f46a496c Reviewed-on: https://cl.tvl.fyi/c/depot/+/5903 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-06-19 r/4248 feat(users/Profpatsch/sync-abfall): caldav vdirsyncer config genProfpatsch2-1/+157
Gonna have to generate some vdirsyncer config, reusing the toIni stuff, nice. Change-Id: I036ce9990f70d3b035e47151f336d0d3971f2c91 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5888 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-06-19 r/4247 refactor(users/Profpatsch/aerc): move ini stuff outProfpatsch5-145/+256
First shot at generating a dhall FFI standard. Change-Id: I1cdf7eeaa6b2668a49282315f308a8e51abd0cf6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5887 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-06-19 r/4243 feat(users/Profpatsch/sync-abfall-ics-aichach-friedberg): initProfpatsch3-4/+161
A small script that fetches calendar files for our local trash provider. First step towards integrating ics files into my calendar setup. Change-Id: I0e8915a00c19349104cb6256e9dc87c17620fcae Reviewed-on: https://cl.tvl.fyi/c/depot/+/5883 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de>
2022-05-26 r/4138 refactor(Profpatsch/blog): Prepare for restricted-evalVincent Ambo1-1/+1
Change-Id: Ia73db534634b11c6361e4e88a4d73a1512d969ca Reviewed-on: https://cl.tvl.fyi/c/depot/+/5685 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-05-05 r/4013 feat(users/Profpatsch/aerc): use toINIProfpatsch2-158/+43
Uses the list-based toINI, which removes a lot of the complications caused by the INI DSL (it was fun to write but really not necessary). Change-Id: Ia6c30a726662416c99ed74f9eb33537573543383 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5530 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-05-05 r/4012 feat(users/Profpatsch): add toINIProfpatsch1-0/+79
This is a morph of the `pkgs.lib.generators.toINIWithGlobalSection` function, which is simplified, inlined, and takes lists instead of attrsets. This makes the key ordering stable and is easy to generate from dhall. Ideally I’d upstream it at one point (in the sense that `generators.toINI` can also take lists), but that will be a lot more work that is not necessary atm. Change-Id: I7d6c129cfee9faedb62f69d479e59a6e05bb7ac6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5529 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-05-05 r/4011 feat(users/Profpatsch/importDhall): print dhall commandProfpatsch1-4/+8
It’s often not obvious what dhall command to run to (type)-check the dhall files directly without the nix roundtrip. Now we just print the command, easy to copy. Change-Id: I704a647bff13f73d5a1b1d33b00a46bcb1a9de4e Reviewed-on: https://cl.tvl.fyi/c/depot/+/5528 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-05-05 r/4009 feat(users/Profpatsch): init initial aerc configProfpatsch3-0/+335
aerc is a mail client. It needs some ini files to work. This is an initial attempt at generating them. Change-Id: I087955f19d2c4527275500a1e13eeb071c98a7b9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5526 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-05-05 r/4008 feat(users/Profpatsch/importDhall): print type annotationProfpatsch1-4/+15
If no type annotation is given, debugging errors gets a lot harder because there is nothing to compare it against. But we can tell dhall to print the type first (this means double evaluation, but that’s an optimization problem to be solved later). Change-Id: Icf793828070cd6bb8daeb4c07de3162a5e064653 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5525 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-05-05 r/4005 fix(users/Profpatsch/alacritty): remove stable alacrittyProfpatsch1-1/+1
I figured out that the problem came from me installing alacritty in my home profile, which was out of sync with my system closure’s opengl. Updating the home profile “fixed” it. Change-Id: I1e2b3a91da9a3ab8c47182e0e0a8e69b9285c75b Reviewed-on: https://cl.tvl.fyi/c/depot/+/5522 Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-04-21 r/3983 fix(users/Profpatsch/alacritty): use alacritty from stableProfpatsch1-1/+1
Change-Id: I8a3f22dd752b5cd70518424335de876210e9bcd4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5487 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-04-20 r/3981 feat(users/Profpatsch/blog): Idealized Conflang blogpostProfpatsch2-4/+311
Change-Id: Iec01bc2a1a5ed5d21627ba1f9554ec4b3a8fc4ad Reviewed-on: https://cl.tvl.fyi/c/depot/+/5480 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-04-20 r/3980 feat(users/Profpatsch/alacritty): Some more configurationProfpatsch2-12/+28
Change-Id: Ibb2e1892327bd1f27a16dcde1424b8d55c7783d2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5479 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-02-28 r/3878 feat(users/Profpatsch/nix-home): add terminal-emulator to ~/binProfpatsch1-27/+59
This is an ad-hoc way of adding “well known” executables to my user directory for now. It’s not pretty, it is what it is. Change-Id: I93ee1d75b48536692da86485f0ac517aa1935ec4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5335 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-02-28 r/3877 feat(users/Profpatsch): Basic alacritty dhall configurationProfpatsch3-0/+105
Change-Id: I73e91a0abeec013445d0b14867e38637b2a9397f Reviewed-on: https://cl.tvl.fyi/c/depot/+/5334 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-02-28 r/3876 feat(users/Profpatsch): add importDhallProfpatsch1-0/+78
Makes it possible to import a dhall file as a nix expression (at IfD time), embedding dhall into nix. There’s some setup for adding dhall dependencies as well, but it hasn’t been really battle-tested yet. Change-Id: I3e5670f93c612f2eb530d7c65d6bb4b1bf7bd8bd Reviewed-on: https://cl.tvl.fyi/c/depot/+/5333 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-02-28 r/3875 feat(users/Profpatsch): add exactSourceProfpatsch1-0/+90
This is a little helper that Graham cobbled together at one point, it will filter an exact list of files. Change-Id: Iab786abcd4a7a3cce45a20b2950f103defa91998 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5332 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2022-02-28 r/3874 feat(users/Profpatsch/nix-home): add findia* aliasesProfpatsch2-6/+101
Change-Id: I66d3e69ae2cb4cf56a49c970f59f62fa945dd736 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4840 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de>
2022-02-14 r/3822 feat(users/Profpatsch/netencode): ignore earlier record entriesProfpatsch2-6/+8
It turns out that the netencode spec requiring to ignore *later* entries meant that every parser has to do an extra check for each element, instead of just overriding the key in the hash map. This leads to a situation where the simple implementation is the wrong one, which would lead to very subtle problems in parsers (see also the infamous “json duplicate record entry” problem which has been used for various exploits in the past). To be fair, exploits are still possible, but at least a `Map.fromList` will be the right implementation (provided it folds from the left) now instead of the wrong one. Examples of the trivial implementation being now right: Python: > dict([("foo", 1), ("foo", 2)]) {'foo': 2} Rust: > println!("{:?}", HashMap::from([ ("foo", 1), ("foo", 2) ])); {"foo": 2} Haskell: > Data.Map.fromList [ ("foo", 1), ("foo", 2) ] fromList [("foo",2)] Change-Id: Ife9593956f4718e5e720f4f348c227e4f3a71e2d Reviewed-on: https://cl.tvl.fyi/c/depot/+/5108 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: Profpatsch <mail@profpatsch.de>