Commit graph

190 commits

Author SHA1 Message Date
sterni
11738fc232 chore(sterni/mblog): relicense to GPL-3.0-only
This is possible since all the commits have been made by me. The code
taken from  SCLF (which is licensed LGPL-2.1-or-later) can also be
included since the LGPL 2.1 is [compatible] with the GPL 3.0.

compatible: https://www.gnu.org/licenses/license-list.en.html#LGPLv2.1
Change-Id: I2d274c29378679c489dc667a53b234642c3da817
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5928
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-07-09 17:10:46 +00:00
sterni
49aee7a8f2 chore: remove sclf from the tree
SCLF is quite a big utility library (almost 3€ LOC) with limited
portability (CMUCL, SBCL and CLISP to an extent). Continuing to maintain
it is an unnecessary burden, as depot only uses a fraction of it which
is now inlined into the respective users (mime4cl and mblog).

In the future trimming down ex-sclf.lisp may make sense either by
refactoring the code that uses it or by moving interesting utilities
into e.g. klatre.

Change-Id: I2e73825b6bfa372e97847f25c30731a5aad4a1b5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5922
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-07-05 15:01:17 +00:00
sterni
ae422c1353 feat(sterni/nix/misc): predicate to check if isRestrictedEval
This is merely a little demonstration of nix#6579:
`users.sterni.nix.misc.isRestrictEval` returns whether the restrict-eval
setting is true or false by exploiting the aforementioned Nix bug.

Change-Id: Icca354d1cd6571cdf0804abae27aac91a18cda1e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5692
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-06-01 10:30:37 +00:00
sterni
e86d0101d5 feat(sterni/emacs): function to display texcount for current file
Change-Id: Iae09dd79494d65e4025e1e34ab1d848ef2b9cd47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5722
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-27 23:24:28 +00:00
sterni
1ad9b249f4 feat(sterni/emacs): configure lsp-ui-sideline for code actions
Change-Id: Idd0d09c47466f77cc04a628c95152d306af563d5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5680
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 12:13:16 +00:00
sterni
80a80a0706 feat(sterni/emacs): configure lsp-ui add proper lsp bindings
Change-Id: I1a81feca1bde663d1fbea1e2520f25f0bb57453c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5679
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:51:13 +00:00
sterni
3a2ad8ed3b feat(sterni/emacs): fill background of languagetool issues
This used to be the behavior of languagetool.el which we now restore
finally. The yellow underline was really easy to miss on a white
background.

Change-Id: I8b34ed64f9f7a82c39de84575877910335024ffe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5678
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:51:13 +00:00
sterni
66d2ea3dfd feat(sterni/emacs): add binding for switch-to-buffer-other-window
Change-Id: Idbc6a9a080dc606d653b7fcf683182698836da43
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5677
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:50:12 +00:00
sterni
e4d87b1fd2 feat(sterni/emacs): load org-tracker from mutable path in home dir
Packaging this seemed a little tricky due to some quirks of the code,
but it's best to solve that whenever it's actually in depot. For now I
break it often enough that it's useful to be able to edit its source
quickly.

Still missing some necessary configuration which I'll probably steal
from grfn next week or so.

Change-Id: I1300807f7b1bc39ddb9f792c2ee500f4dd72d002
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5676
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:50:11 +00:00
sterni
462c85e2d8 refactor(sterni/emacs): banish elfeed and languagetool to ,m
I'll probably want to use <leader>f and <leader>l for different things
in the near future.

Change-Id: Iaf3de2dac90c018db8ca8797673bd1bf21df9c74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5675
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:09 +00:00
sterni
72f0c3b6c1 fix(sterni/emacs): reflect changed command name in languagetool.el
Also delete duplicate java-arguments while we're at it.

Change-Id: I6e129f3aaefaa06e812d4dec36bd754fab4ab4e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5674
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:08 +00:00
sterni
4bef7ef946 feat(sterni/emacs): default to ormolu as Haskell formatter
Change-Id: I4ce9c190e812cae56c00745e703fe3cc17755223
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5673
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:07 +00:00
sterni
71407ab2a6 feat(sterni/emacs): allow launching magit from project-switch
I always found myself starting a shell or dired to do ,gr right after…

Change-Id: I609bbe13c74a9360608939aca79748a8e59343fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5672
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:07 +00:00
sterni
98dbd715fa feat(sterni/emacs): enable which-key mode
Change-Id: Ibfb1b729ad8dc1de72e4da5833077ea4cd764638
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5668
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-25 18:30:39 +00:00
sterni
c93527d8a1 refactor(sterni/emacs): use use-package for elfeed
When I first added elfeed, for some reason I couldn't set it up with
use-package. Now the situation has reversed itself and elfeed started to
crash with cryptic elisp error messages. Copying tazjin's approach to
configuring elfeed has solved this issue luckily.

Change-Id: I57ec8f8d8ace6aa6545483f7b2559065a56792f1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5649
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-23 17:12:55 +00:00
sterni
d60feb21e8 feat(sterni/emacs): add binding for find-file-at-point
Change-Id: I5b44df45d97e69b1a83c3e84039f55a3fced509f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5645
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-22 21:55:36 +00:00
sterni
5a1a18f58e chore(3p/sources): Bump channels & overlays
* //users/sterni: disable ada-mode, as GNAT bootstrap is broken in
  channels currently

Change-Id: I430f77baba2bcf306121e80aba61684c229c3981
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5641
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-22 13:08:37 +00:00
sterni
1f3804b9cd feat(sterni/emacs): enable editorconfig-mode
Change-Id: I5d0a5302321b768c7d23530d559115e3d8019223
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5581
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-12 16:36:22 +00:00
sterni
6c46ee03af feat(users/sterni/emacs): make org-clock-csv available
Change-Id: I3731803882992a7a852c24d03d50afea74d885fc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5576
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-11 17:38:51 +00:00
sterni
47fdd8c954 feat(sterni/emacs): add keybind for browse-url-at-point
Change-Id: I537fed6292ed99791ec0d2ef90f7f40523e72dda
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5573
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:22:16 +00:00
sterni
ac0fefdb3e feat(sterni/emacs): add keybind for M-x man
Change-Id: Ia3ddc393300150712276fc8b3d3bdbcd95a5361c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5572
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:22:16 +00:00
sterni
5cccb0c573 feat(sterni/emacs): add key bindings for project-* commands
Change-Id: I482b629747adebe049e1e145c13efec17a0d2b7d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5571
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:18:14 +00:00
sterni
1e3306ab57 feat(sterni/emacs): use bash login shell for M-x shell
bash (unlike fish) doesn't break down if TERM=dumb which is the only one
I'll be using in emacs (I want to reduce my usage of things depending on
ANSI escape sequence to a minimum, for stuff that needs it I still have
foot). bash is started in login shell mode so /etc/profile is sourced
which will a) enable direnv support and b) setup some tweaks (relating
to PAGER etc.) if TERM=dumb.

Since I use a semicolon for a prompt in (ba)sh, shell-prompt-pattern
needs to be adjusted.

Change-Id: If58b6d1edf1d9ab1883cb51c27729e23d889b16c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5570
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:18:14 +00:00
sterni
d41ac7be60 feat(sterni/emacs): add keybind for revert-buffer
Change-Id: I34a3b7c66854061b57dcd8d6181e62fe44156cb1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5544
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:16 +00:00
sterni
333786db49 feat(sterni/emacs): open man pages in same buffer
Change-Id: I84d1b4677329c24f403d23d47ff48c1666a48536
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5543
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:15 +00:00
sterni
3027c3ef64 fix(sterni/emacs): prevent ediff from creating a new window
This is really annoying since the window is not recognized as a popup /
dialog window by sway.

Change-Id: Icacf7f673e6d96915711950185a704fccd95aed3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5542
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:15 +00:00
sterni
952922a0a9 feat(sterni/emacs): use evil C-w bindings, but with arrow keys
hjkl are a huge pain to use with neo layout.

Change-Id: Ic3969c00aa920c4cfea25f5ea16bf38b6bbd5e07
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5541
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:15 +00:00
sterni
6128f0262e feat(sterni/emacs): enable so-long-mode
Change-Id: Iee0023b5f6f3dbe59b685081b61bf8ef5075e6db
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5540
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:52:13 +00:00
sterni
ebba8105bc feat(sterni/emacs): install CMake mode
Change-Id: Ia48809cd0a8de9b2d7f93b83976d97df08081cb9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5539
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:52:13 +00:00
sterni
fe8b7b4ccd refactor(sterni/emacs): M-x sort-lines the dependencies
I'm never able to keep up such a category-based sorting.

Change-Id: I1fd1ee064df9b1c5f8c7932f0cfee7c817be3767
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5538
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:52:13 +00:00
sterni
1dd67af10e chore(users): reflect emacsGcc -> emacsNativeComp rename
Change-Id: I0217b1e316767b48b79f23e9d644b00b7fcc2df2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5518
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-04 15:59:47 +00:00
sterni
419dd2a7aa feat(sterni/emacs): install meson-mode
Change-Id: I8d0f741a478c00fd0592f7ed5f9640d5019ce08d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5515
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-02 21:14:54 +00:00
sterni
8e85079012 feat(sterni/emacs): enable server and include emacsclient
Change-Id: Icaf22595c774bdceb7e79f5302cde8d039aa3b09
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5401
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-03-27 10:14:10 +00:00
sterni
9cba0624d6 feat(sterni/emacs): setup direnv and lsp(-haskell)
The LSP setup is very basic at the moment, I'll probably want lsp-ui as
well and other bits and pieces.

Change-Id: Ic0360bbfde98e99990aa3ccb68ea045b522e67ce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5386
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-03-12 12:38:41 +00:00
sterni
5cabe369ed chore(sterni/emacs): adjust to languagetool configuration changes
Change-Id: Ieaa49bebbe05d7298158839a59cd53ff1402da24
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5355
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-09 10:19:31 +00:00
sterni
69956d9a0b fix(sterni/emacs): make css mode respect tab-width
Change-Id: I72aa96f329cee2befbd7d3b9959ab5ffad1e0953
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5343
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-01 18:15:35 +00:00
sterni
7d0b38b7da feat(sterni/emacs): set up org-capture
Change-Id: If98dbae0683fda40e47f5d5701fdf85580a831a8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5342
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-01 18:13:34 +00:00
sterni
09553a52d1 feat(sterni/emacs): add keybind for org-agenda
Change-Id: Ic1610aa98f07848531565b4b4edd14675ac18961
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5341
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-01 18:13:34 +00:00
sterni
4d5459ef93 feat(sterni/emacs): set up org-agenda
Change-Id: Ic8373938cc9343e2fe0d561edf6c7b5f03c26358
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5331
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-02-26 22:33:17 +00:00
sterni
36f6322d16 feat(sterni/nix/fun): implement tail call “optimization” for Nix
I've had the notion that builtins.genericClosure can be used to express
any recursive algorithm, but a proof is much better than a notion of
course! In this case we can easily show this by implementing a function
that converts a tail recursive function into an application of
builtins.genericClosure.

This is possible if the function resolves its self reference using a
fixed point which allows us to pass a function that encodes the call to
self in a returned attribute set, leaving the actual call to
genericClosure's operator. Additionally, some tools for collecting meta
data about functions (argCount) and calling arbitrary functions (apply,
unapply) are necessary.

Change-Id: I7d455db66d0a55e8639856ccc207639d371a5eb8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5292
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-02-15 12:52:19 +00:00
sterni
de62043a74 refactor(rust-crates-advisory): move report generation into script
This script is somewhat usable by humans (it even has a help screen!)
and can be reused in //users/sterni/nixpkgs-crate-holes. We are using
bash since that allows us to exit with the actual exit code of
cargo-audit - something that's not possible in execline.

Change-Id: I3331ae8222a20e23b8e30dc920ab48af78f0247c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5228
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-02-13 18:42:44 +00:00
Vincent Ambo
3318982f81 chore: move some meta.targets definitions to meta.ci.targets
Change-Id: Icdec1dec89158fb596c5185ac7105892081947f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5252
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: tazjin <tazjin@tvl.su>
2022-02-08 12:06:10 +00:00
sterni
a2ecd53f58 chore: clean up some obsolete TODOs
* //3p/nix: probably not worth investing time into this anymore

* //users/sterni/emacs: The emoji problem disappeared by itself with a
  newer emacs version, however a different one remains…

* //web/panettone: If we ever want to change the behavior, we should
  just decide the behavior statically instead of using conditions and
  restarts, as we only call it in one place, so making different
  decisions depending on call sites is not really a use case we have.

Change-Id: Iff9d439ce356db41ce34d690fb7b6a01822022fa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5223
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-02-04 15:55:19 +00:00
sterni
66055161fb feat(tools/rust-crates-advisory): omit GHFM checklist in buildkite
Buildkite doesn't understand GitHub Flavored Markdown and having a read
only checklist in there is probably not much use.

Change-Id: I41538487087e8c817b1a5e653f077bb0fbe6eb47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5201
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-02-04 11:22:43 +00:00
sterni
5d06425655 chore: move format-audit-result.jq out of //users/sterni
In the spirit of the readTree filter we should also not include files in
user directories from the outside.

Change-Id: I1abe36a721048900d2758b5986063b68b8d1af93
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5200
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-02-04 11:20:41 +00:00
sterni
5bc73de59d feat: move mblog header handling into mime4cl
Accessing the headers of a MIME message feels like something mime4cl
should handle. We implemented this ad hoc in mblog before in order to
not need to worry about doing it in a sensible way. Now we introduce a
decent-ish interface for getting a header from a MIME message,
mime-message-header-values:

* It returns a list because MIME message headers may appear multiple
  times.

* It decodes RFC2047 only upon request, as you may want to be stricter
  about parsing certain fields.

* It checks header name equality case insensitively.

The code for decoding the RFC2047 string is retained and still uses
babel for doing the actual decoding.

Change-Id: I58bbbe4b46dbded04160b481a28a40d14775673d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5150
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
81c47da91c refactor(sterni/mblog/note): don't escape streams char by char
Depending on the stream backing this, read-sequence should be more
efficient.

Change-Id: I5d0461f76f4b132ac6e6c3a2e503f0173d5f4114
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5194
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
98e4cd032f feat(users/sterni/mblog): implement mblog executable
This change finally sort of puts the parts together: We take a maildir,
render all its note messages as standalone HTML, extract the attachments
alongside and finally generate a global index page linking all notes.

The new executable and mnote-html are both contained in the same image
and we dispatch the right functionality based on argv[0].

Change-Id: I5a5bdbfaca79199f92e73ea4a2f070fa900d2bc4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5113
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
6cd1f6f183 refactor(sterni/mblog/note): only get escape-char-minimal from WHO
This is the only thing we need from that package and it avoids having
to solve the annoying conflict between closure-html and who.

Change-Id: Iacfb8d4948d1987e767ffc456b8e141b468ef6d9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5111
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
5789814dec fix(users/sterni/mblog): handle RFC2047 in subjects
Non ASCII Subjects will use RFC2047 to encode their content. Using
mime4cl's parse-RFC2047-text we obtain a list of ASCII strings and byte
vectors tagged with their encoding. Using babel we can then decode the
byte sequence, assuming the encoding is named the same in babel and
RFC2047 (which it is for UTF-8 at least…).

Change-Id: I2840672409452bd194fb1635721e338364d9b484
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5078
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-02-02 20:47:45 +00:00
sterni
56ec3b1803 refactor(sterni/mblog): add (sub)class for apple note messages
* Upon creation of an apple-note object we can check if certain fields
  we are interested in are present and of the right type etc.

  These currently are:

  - UUID (for links later)
  - Subject (title)
  - Time
  - Text part with supported MIME type

  These are then put into their own shortcut fields in the apple-note
  subclass which allows for easier access and forces us to make sure
  they are present.

* Split out everything note related into its own package. Using the new
  type, we can expose an interface which sort of makes sense.

Change-Id: Ic9d67518354e61a3cc8388bb0e566fce661e90d0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5072
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
41faf1cf91 feat(users/sterni/emacs): setup org-clock
Change-Id: Ic3d1b8a38c5f552f7bd6b155e87e8b437ebe11b4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5190
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 18:21:34 +00:00
Vincent Ambo
aa122cbae7 style: format entire depot with nixpkgs-fmt
This CL can be used to compare the style of nixpkgs-fmt against other
formatters (nixpkgs, alejandra).

Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: cynthia <cynthia@tvl.fyi>
Reviewed-by: edef <edef@edef.eu>
Reviewed-by: eta <tvl@eta.st>
Reviewed-by: grfn <grfn@gws.fyi>
2022-01-31 16:11:53 +00:00
sterni
f7d7da6ace fix(users/sterni/mblog): use string-equal where casing is irrelevant
Change-Id: Ic1303a04de005977a552eba38aa13d512d2c20e2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5071
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-30 09:39:13 +00:00
sterni
7577a89284 feat(sterni/mblog): add package to read maildirs
Change-Id: I7be8d8b7d12bb194712aa26f3ddad74340357779
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5070
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-30 09:38:40 +00:00
sterni
4803776491 chore(sterni/mblog): add gitignore
Change-Id: I0bfc22fae158886df894a1d2c90787f0836d8bd9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5069
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-30 09:38:40 +00:00
sterni
5b579c2a32 feat(users/sterni/emacs): open inbox.org on startup
Change-Id: Ic73455e25b0d98501dfccbf414fff322e7f44b14
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5061
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-26 11:42:11 +00:00
sterni
a22bd77859 refactor(users/sterni/emacs): use more persistent tmp dir
Change-Id: I703b7678405f29bc4f0f04e1b42fd35025a80971
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4982
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-17 13:11:25 +00:00
sterni
1164f138a6 feat(users/sterni/emacs): save command and search history
Change-Id: Ied633801d4dd2b41f46ec702a345732f553142d9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4959
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 13:11:25 +00:00
sterni
7c391344f7 feat(users/sterni/emacs): save undo history
Change-Id: I75ca7b2011f14244cac8af7762b6d2f6ce284055
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4958
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 13:09:00 +00:00
sterni
ce2ae0f8b1 feat(users/sterni/emacs): set sentence bounds
Change-Id: Ic6d01e8d9b28a884eceeda4d9888e611f0d5abb8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4956
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 13:09:00 +00:00
sterni
1ec9d27e9e feat(users/sterni/emacs): enable buffer size indicators
Change-Id: Ibd3ad27017c69eff65ee37678b6bbad264dcdadc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4955
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 13:09:00 +00:00
sterni
11a359a4c7 feat(users/sterni/emacs): add bind for listing buffers
Change-Id: I2ccc9e3277eb871cf5064fe242934e46a6a49583
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4954
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 12:19:54 +00:00
sterni
e89d76e811 feat(users/sterni/emacs): enable fido-mode
Change-Id: Iaa8b3fe3d9485a2bff0a0227e7fa5af64f4b320b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4953
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 12:19:54 +00:00
sterni
456ddb9272 refactor(users/sterni/emacs): set-default → setq-default
Change-Id: I0f9339bfabeace66cab0ea7402b181113048a568
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4952
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 12:19:54 +00:00
sterni
f3cc32bef8 feat(users/sterni/emacs): enable paredit
Change-Id: I318ccf75fa470f442c05df6ae6f8df8772a7c1d6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4951
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 12:19:53 +00:00
sterni
24881e39c9 fix(users/sterni/emacs): reverse search in insert mode for sly
Change-Id: Id324c98912ba5ce08f06d8db260cd7ee129dd27d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4950
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 12:19:53 +00:00
sterni
4b46e6cd37 fix(users/sterni/emacs): make save files even less annoying
Change-Id: I765fee99d2c37ee64d7858f69ed52ce126451640
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4949
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 12:19:53 +00:00
sterni
46bf91f086 fix(users/sterni/emacs): set tvl-depot-path correctly
Change-Id: I5f9928816c86495addab31ca33e51141b415d42a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4948
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-17 12:19:53 +00:00
sterni
e118994873 feat(users/sterni/emacs): set up LanguageTool
Consequently, my emacs config now depends on Java…

Change-Id: I26c63558494fd9a9a7ad5beb4442e50c6a5d89f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4863
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-10 23:24:45 +00:00
sterni
2b6e8f0277 feat(users/sterni/emacs): subscribe to Andreas Zwinkau's en blog
Change-Id: I83545e2501d94799fa831bd773268b2c856f654c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4862
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-10 23:24:45 +00:00
sterni
666a944c59 feat(sterni/aoc/2021): day 10 solution
Change-Id: I5feb7187bd9aee45478aa5759e94df49e92565bf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4734
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-28 16:42:41 +00:00
sterni
dea67c9d78 feat(sterni/aoc/2021): day 11 solution
Change-Id: I59087cd855953d0ebdcaaea2374788e9e015e1ea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4733
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-28 16:42:41 +00:00
sterni
d052bc5953 feat(sterni/aoc/2021): day 4 solution
Change-Id: Ib8b4206b40acad32e10ebd9103e54074ba3452fc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4681
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-12-26 19:51:25 +00:00
sterni
675f97e535 feat(sterni/aoc/2021): don't split on consecutive occurrences of 𝕨
Change-Id: I2ab17e0238df297f580c45bc28914c6dfd0ce848
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4680
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-12-26 19:51:24 +00:00
sterni
798b439c4b feat(sterni/aoc/25): day 25 part 1 solution
Change-Id: I8ffefd2b85e595bdae2cfb2bf7b34ea63b82c457
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4627
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-12-25 23:21:04 +00:00
sterni
d44b57b641 feat(sterni/aoc/2021): day 20 solution
Change-Id: Id864d6e6f0722c2da5d3487bd38da80e6bff2161
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4566
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-25 11:18:11 +00:00
sterni
4fbb2a1658 feat(sterni/aoc/2021): day 6 solution
Change-Id: Icd21b0f0c92b596fbb369d6f08715a6554259572
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4558
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-25 10:46:51 +00:00
sterni
3f523bdf4c chore(users/sterni): remove feeds I don't read or find the time for
Change-Id: Id9d6582de2a95f770c7d734ec5d7baad2293e522
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4518
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2021-12-21 13:01:38 +00:00
sterni
01f4212ca1 feat(sterni/aoc/2021): day 15 solution
Change-Id: Idca2ae2829a7ee9e856aa7fcdc716c3055051062
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4363
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-12-16 12:43:46 +00:00
sterni
0357dd973b chore(sterni/aoc/2021): add shell for running solutions.bqn
Change-Id: I2e192dec9eb863a1b2386d40d26eeeeb57e1ed28
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4350
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-16 09:19:01 +00:00
sterni
b5678cbd5f feat(sterni/aoc/2021): day 14 solution
Change-Id: I8b6c0c5d1ced89eadaeea3fb619d37e77a439965
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4349
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-15 23:58:17 +00:00
sterni
3f8c99f5c3 refactor(sterni/aoc/2021): fold over 2d array instead of nested list
Seems to save some allocations and thus recover some performance
compared to the two separate folds we had before.

Change-Id: Ie3d283103e6a9b8aa702db633d9c988fda1b2903
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4348
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-15 23:58:17 +00:00
sterni
0220fb319a feat(users/sterni/emacs): provide BQN interpreter via Nix
For this we create a directory containing a nix-inject.el file using
writeTextFile where we can string interpolate as much as we please and
merge that into a single emacs.d directory with the config *.el files
tracked in the normal tree using symlinkJoin.

Change-Id: I0e39591587a54527214783d4380456d2763da091
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4324
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2021-12-14 17:07:29 +00:00
sterni
c7ebb34f8f refactor(sterni/aoc/2021): use a fold instead of last scan element
We can use the reverse swap trick to get a forward fold.

Change-Id: I88185e2ff0b41ec1454f414db2d24b1c8173ac2d
2021-12-14 13:41:01 +00:00
sterni
b5eb90196e refactor(sterni/aoc/2021): determine width/height in the same fold
Change-Id: I39410171402cedc3ee8d9ac972557656ed12de53
2021-12-14 00:56:31 +01:00
sterni
1303f3fc71 feat(sterni/aoc/2021): day 13 solution
Change-Id: I9cfa8a28854cbee7e8e1b457faf9c572353e803f
2021-12-13 23:39:50 +00:00
sterni
7a1a8aa3aa refactor(sterni/aoc/2021): name input data more consistently
Change-Id: Ibcea43d2e51f14d8b1b021050310f88d44d970d3
2021-12-13 23:39:49 +00:00
sterni
464bbcb15c feat(sterni/aoc/2021): day 9 solution
Change-Id: I90e7a47d5418abeff1ae7cc5757b6a8b3b0d1086
2021-12-13 22:13:29 +01:00
sterni
343b811bbc feat(sterni/aoc/2021): day 7 solution
Change-Id: I8c8b535defb42f15eafc816ebe953e51b11ea702
2021-12-13 21:58:15 +01:00
sterni
f78a7467f1 feat(sterni/aoc/2021): day 3 solution
Change-Id: Id14281f7b18ddaf6875e5dd8398249a10a9474af
2021-12-13 21:58:15 +01:00
sterni
b3d4305700 refactor(sterni/aoc/2021): allow variable bases ≤ 10 for ReadInt
Change-Id: Ie035134a4b3d478ce836aa00016122e0f49a5a28
2021-12-13 21:58:15 +01:00
sterni
4b38ba2d0a feat(sterni/aoc/2021): day 2 "solution"
Change-Id: Ifbd50274f0b09305991a49e7453ac1f13089e57e
2021-12-13 21:58:15 +01:00
sterni
ca159626dd feat(sterni/emacs): subscribe to the TVL feed
Change-Id: Iac08e992a4c610a6f152c1dc5e681b17298b8834
2021-12-01 18:17:29 +00:00
sterni
9472bb6b04 feat(sterni/aoc/2021): day 1 solution
Change-Id: I0781b2aa3624df9a3158296edcbbbf2ee845102b
2021-12-01 18:17:29 +00:00
sterni
750ef6c693 feat(sterni/nix/utf8): check if codepoint valid/encodeable
* Enforce the U+0000 to U+10FFFF range in `count` and throw an error if
  the given codepoint exceeds the range (encoding U+0000 won't work of
  course, but this is Nix's fault…).

* Check if the produced bytes are well formed and output an error if
  not. This indicates that the codepoint can't be encoded as UTF-8, like
  U+D800 which is reserved for UTF-16.

Change-Id: I18336e527484580f28cbfe784d51718ee15c5477
2021-11-25 12:15:35 +01:00
sterni
0e9c770972 refactor(sterni/nix/utf8): let wellFormedByte check first byte
Previously we would check the first byte only when trying to figure out
the predicate for the second byte. If the first byte was invalid, we'd
then throw with a helpful error message. However this made
wellFormedByte a very weird function.

At the expense of doing the same check twice, we now check the first
byte, when it is first passed, and always return a boolean.

Change-Id: I32ab6051c844711849e5b4a115e2511b53682baa
2021-11-25 12:15:35 +01:00
sterni
87a0aaa77d feat(sterni/nix/utf8): implement UTF-8 encoding
This implementation is still a bit rough as it doesn't check if the
produced string is valid UTF-8 which may happen if an invalid Unicode
codepoint is passed.

Change-Id: Ibaa91dafa8937142ef704a175efe967b62e3ee7b
2021-11-25 12:15:35 +01:00
sterni
9370ea5e33 chore(sterni/nix/utf8): remove decodeSafe
This is not really used anywhere and kind of useless. A better
decodeSafe would never return null and instead make use of replacement
characters to represent invalid bytes in the input.

Change-Id: Ib4111529bf0e472dbfa720a5d0b939c2d2511de5
2021-11-25 12:15:35 +01:00
sterni
ab92c42f59 feat(sterni/nix/utf8): allow decoding the empty string
Change-Id: I8de9cd28c822ac5befbcd16e118440cd13cd86e9
2021-11-23 14:23:41 +01:00