There's no longer an Egyptian fireball in the sky, so I can go back to
normal.
Change-Id: I6fdcd12f3d3e62c367115f3712cc0fd36eeff78d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3568
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
For now mblog only contains the mnote-html executable which takes a mime
message from a maildir and prints the equivalent HTML fragment to
stdout. It is intended to work with the mblaze(7) utilities,
i. e. mnote-html resolves all `object` tags to proper `img` inclusions
with the correct filename, so mshow(1)'s -x version can supply the
needed image files. A note created using Apple's Notes app (tested with
the iOS version) can be converted in a viewable HTML file like this:
$ mnote-html path/to/msg > fragment.html
$ mshow -x path/to/msg
$ cat <(echo "<!DOCTYPE html>") fragment.html > document.html
$ xdg-open document.html
Note that only the limited feature set of Apple Notes when using the
IMAP backend is supported. The iCloud-based one has more (quite neat)
features, but its notes can only accessed via an internal API as far as
I know.
This CLI is a bit impractical due to the big startup overhead of loading
the lisp image. mblog should be become a fully fletched static site
generator in the future, but this is a good starting point and providing
the mnote-html tool is certainly useful.
Change-Id: Iee6d1558e939b932da1e70ca2d2ae75638d855df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3271
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
This is mostly to yet another silly idea which turns out to be
possible. This may be actually useful should I implement more
sophisticated format specifiers like "%xd" or "%f".
Change-Id: Ia56cd6f5793a09fe5e19c91a8e8f9098f3244d57
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3537
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
hpack is a bit dumb when generating the list of modules for a cabal
file's component if multiple of them live in the same directory.
Specifically it seems to assume that all modules in the source-dirs
of a particular component are also necessary for its compilation.
This is quite bad in the case of xanthous since both library and
executable have source-dirs: src, so all modules will be compiled
twice: Once for the library and then again for the executable
despite it depending on the library (actually 4 times in total
since we need to build a unprofiled and profiled object for each
module…).
To fix this we just move Main.hs into its own directory and change
the executable's source-dirs, so hpack doesn't get confused anymore.
Since all components now have their own source-dirs, unnecessary
redundant compilation should be down to 0. The diff of the cabal
file shows quite nicely how many module recompilation we've gotten
rid of.
Change-Id: I2df4fab9b0299b3a2b5d3005508c79b2d9796039
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3533
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
Since //web/bubblegum depends on nint, we need to move it to a non user
directory to conform with the policy established via cl/3434.
Note that this likely doesn't mean greater stability (which isn't
really implied in depot anyways), since I still would like to use a more
elaborate calling convention to allow for additional useful features.
Change-Id: I616f905d8df13e3363674aab69a797b0d39fdd79
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3506
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
This allows me to add stuff without doing a commit for every feed. I can
always import them in bunches if I want to later.
Change-Id: I080f40b3627940a1f68cf13598c102953f4994b1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3505
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
`config.home.homeDirectory` is never set, meaning that when this builds
in CI it just uses the $HOME of the buildkite agent that's running,
causing it to almost always rebuild on new changes - I'm never going to
have a username on a system other than `grfn`, so this is fine to just
hardcode.
Change-Id: I920a0c546f4c06d0429534d116465e8f732218e7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3495
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
I have some secret stuff here (not security-secret, just secret that I'm
installing it in my system) so this has to be conditionally included
Change-Id: Idb12e5bbab507ad3dc5eb610199fd384789c0e20
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3491
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
The backported fix is no longer required and we can just apply the
patch in the overlay, this makes everything a little easier.
Change-Id: I654a1bb002eef5c578b8e576e133a159bde3f850
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3483
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
This lets us benefit from the recent OpenSSL security-related
update [1]. Since nixos-unstable is still stuck, we temporarily
use nixos-unstable-small as our unstable channel.
Fixes necessary:
* //users/sterni/nix/char:
Someone has decided to drop writers.writeC upstream [2],
so we reimplement it ad-hoc using runCommandCC
[1]: https://www.openssl.org/news/secadv/20210824.txt
[2]: 982f46985e
Change-Id: Id84756e2e370296b7a27e1a3f1744f58f8fe3c47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3463
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
Unfortunately this doesn't work with Gerrit yet, but it's fine for SSH auth.
Change-Id: Idcfebb117ca39e47ef5595f5bb64ea31dbef3af7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3442
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
I no longer use this, I just use the rebuild-system that all nixos
systems get now.
Change-Id: I2272ff13b21b3194c06b51dbc340c19b8bb336a9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3430
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
It's now more like my personal homepage depends on TVL assets, not the
other way around.
Change-Id: Ifb9d61aa8ec2cab549e25de3a3dfbbd08f3d336c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3435
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Prevent flycheck-next-error and flycheck-prev-error from being repeated
by evil, since they're movement commands rather than editing commands.
This lets me spam `]e.` if I have to do the same thing to all the errors
in a buffer, for example.
Change-Id: I5993f6d19b71b63e5f4be1f3ce9e0cfd0357cc6e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3425
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
This was missing a path segment, plus calling it rust-analyzer makes it
clearer what's going on
Change-Id: I8f71fe1b438d72f743472ab10ec939f686ad0da1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3424
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Adds ECL as a second supported implementation, specifically a statically
linked ECL. This is interesting because we can create statically linked
binaries, but has a few drawbacks which doesn't make it generally
useful:
* Loading things is very slow: The statically linked ECL only has byte
compilation available, so when we do load things or use the REPL it is
significantly worse than with e. g. SBCL.
* We can't load shared objects via the FFI since ECL's dffi is not
available when linked statically. This means that as it stands, we
can't build a statically linked //web/panettone for example.
Since ECL is quite slow anyways, I think these drawbacks are worth it
since the biggest reason for using ECL would be to get a statically
linked binary. If we change our minds, it shouldn't be too hard to
provide ecl-static and ecl-dynamic as separate implementations.
ECL is LGPL and some libraries it uses as part of its runtime are as
well. I've outlined in the ecl-static overlay why this should be of no
concern in the context of depot even though we are statically linking.
Currently everything is building except projects that are using cffi to
load shared libaries which have gotten an appropriate
`badImplementations` entry. To get the rest building the following
changes were made:
* Anywhere a dependency on UIOP is expressed as `bundled "uiop"` we now
use `bundled "asdf"` for all implementations except SBCL. From my
testing, SBCL seems to be the only implementation to support using
`(require 'uiop)` to only load the UIOP package. Where both a
dependency on ASDF and UIOP exists, we just delete the UIOP one.
`(require 'asdf)` always causes UIOP to be available.
* Where appropriate only conditionally compile SBCL-specific code and
if any build the corresponding files for ECL.
* //lisp/klatre: Use the standard condition parse-error for all
implementations except SBCL in try-parse-integer.
* //3p/lisp/ironclad: disable SBCL assembly optimization hack for all
other platforms as it may interfere with compilation.
* //3p/lisp/trivial-mimes: prevent call to asdf function by substituting
it out of the source since it always errors out in ECL and we hardcode
the correct path elsewhere anyways.
As it stands ECL still suffers from a very weird problem which happens
when compiling postmodern and moptilities:
https://gitlab.com/embeddable-common-lisp/ecl/-/issues/651
Change-Id: I0285924f92ac154126b4c42145073c3fb33702ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3297
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: eta <tvl@eta.st>
This has been folded into dash itself.
Change-Id: I19e7a9fbc4d6206e3624b7c226de2225153689c6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3407
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
Lets trust that the Emacs overlay is using the right packages from the
right sources by default. I'm not overly attached to any specific
versions.
Change-Id: Id53a4587f680965f13b5cd329a10f0384ff97c13
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3406
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
The channel has caught up with this fix.
Change-Id: I86287a6808e6936e50e5d43cbafc74b9362e0bd8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3404
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Wanted to port my emacs config to depot, but missing a dependency from
the channel. Adjustments:
* Downgrade grfn's Kernel to 5.10: The ck1 patch is not yet available
for 5.13 unfortunately and the 5.12 set has been removed upstream.
Change-Id: Ifaf315427bda2af590549ca0abec02a79f19a3ec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3375
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
Someone asked for this, so here it is.
Change-Id: I00c52deb8c3f4e8f786cf4763b39d862ad041f6d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3371
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Telega keeps getting loaded with old sources, the origin of which I
can not figure out, and which are not compatible with my Emacs
anymore. This means that opening Telega essentially breaks the active
Emacs until the telega process is killed.
Until I have time to properly sit down and debug where Nix decides to
get an old version of telega from (building the package directly from
a Nix REPL yields the expected one), I'll disable it to avoid
accidentally breaking my Emacs via muscle-memory.
Change-Id: I937ac3a2b208c08fa0ef0b6e3e201526baa3a522
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3367
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
This stops it from interfering with command line invocations of things
like cargo test
Change-Id: Icc24a27ac5e17bb88ed539c13fc33204ef55ce82
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3288
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
The latest Emacs versions removed some (private) functions that telega
depends on, and this is fixed in HEAD of telega.el.
However, without these fixes, the unstable version of telega doesn't
build because the patch Nix tries to apply doesn't match the source
anymore.
The patch itself doesn't seem to do anything relevant for me.
Change-Id: Ib9a042c636cb438b2b15d231a07afd5c02be72ee
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3294
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI