docs(users/Profpatsch): Add small README to most subdirs

Change-Id: I2912e32fe1b2d3d3aff7bafba809634ec4c9adb6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8470
Autosubmit: Profpatsch <mail@profpatsch.de>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
This commit is contained in:
Profpatsch 2023-04-08 14:19:20 +02:00 committed by clbot
parent 260626e016
commit 80e04da5d4
12 changed files with 93 additions and 1 deletions

View file

@ -0,0 +1,7 @@
# (Parts of) my website
This is a part of https://profpatsch.de/, notably the blog posts.
The other parts can be found in [vuizvui](https://github.com/openlab-aux/vuizvui/tree/master/pkgs/profpatsch/profpatsch.de). Its a mess.
And yes, this implements a webserver & routing engine with nix, execline & s6 utils. “Bis einer weint”, as we say in German.

View file

@ -0,0 +1,5 @@
# emacs-tree-sitter-move
An experiment in whether we can implement structural editing in emacs using the tree-sitter parser.
What currently works: loading a tree-sitter gramma, navigating the AST left/right/up/down.

View file

@ -0,0 +1,5 @@
# haskell-module-deps
An executable that when run in a project directory containing `.hs` files in `./src` will output a png/graph of how those modules import each other, transitively.
Useful for getting an overview, finding weird import edges, figuring out how to get more compilation parallelism into your Haskell project.

View file

@ -0,0 +1,5 @@
# ical-smolify
Ensmallen an `ical` by stripping out redundant information like timezone definitions.
The idea here was that after running through this preprocessor, it fits into a QR code (~2000bits) that can be scanned with your phone (for automatically adding to mobile calendar).

View file

@ -0,0 +1,7 @@
# lorri-wait-for-eval
A helper script for [lorri](https://github.com/nix-community/lorri), which wraps a command and executes it once lorri is finished evaluating the current `shell.nix`, and uses the new environment.
This is useful when you need the new shell environment to be in scope of the command, but dont want to waste time waiting for it to finish.
This should really be a feature of lorri, but I couldnt be assed to touch rust :P

View file

@ -0,0 +1,7 @@
# mailbox-org
Interfacing with the API of [https://mailbox.org/]().
They use [open-xchange](https://www.open-xchange.com/resources/oxpedia) as their App Suite, so we have to work with/reverse engineer their weird API.
Intended so I have a way of uploading Sieve rules into their system semi-automatically.

View file

@ -0,0 +1,38 @@
# My Haskell Prelude
Contains various modules Ive found useful when writing Haskell.
## Contents
A short overview:
### `MyPrelude.hs`
A collection of re-exports and extra functions. This does *not* replace the `Prelude` module from `base`, but rather should be imported *in addition* to `Prelude`.
Stuff like bad functions from prelude (partial stuff, or plain horrible stuff) are handled by a custom `.hlint` file, which you can find in [../.hlint.yaml]().
The common style of haskell they try to enable is what I call “left-to-right Haskell”,
where one mostly prefers forward-chaining operators like `&`/`<&>`/`>>=` to backwards operators like `$`/`<$>`/`<=<`. In addition, all transformation function should follow the scheme of `aToB` instead of `B.fromA`, e.g. `Text.unpack`/`Text.pack` -> `textToString`/`stringToText`. Includes a bunch of text conversion functions one needs all the time, in the same style.
These have been battle-tested in a production codebase of ~30k lines of Haskell.
### `Label.hs`
A very useful collection of anonymous labbeled tuples and enums of size 2 and 3. Assumes GHC >9.2 for `RecordDotSyntax` support.
### `Pretty.hs`
Colorful multiline pretty-printing of Haskell values.
### `Test.hs`
A wrapper around `hspec` which produces colorful test diffs.
### `Aeson.hs`
Helpers around Json parsing.
### `Data.Error.Tree`
Collect errors (from [`Data.Error`](https://hackage.haskell.org/package/error-1.0.0.0/docs/Data-Error.html)) into a tree, then display them in a nested fashion. Super useful for e.g. collecting and displaying nested parsing errors.

View file

@ -0,0 +1,7 @@
# nix-home
My very much simplified version of [home-manager](https://github.com/nix-community/home-manager/).
Only takes care about installing symlinks into `$HOME`, and uses [`GNU stow`](https://www.gnu.org/software/stow/) for doing the actual mutating.
No support for services (yet).

View file

@ -0,0 +1,3 @@
# reverse-haskell-deps
Parse the HTML at `https://packdeps.haskellers.com/reverse` to get the data about Haskell package reverse dependencies in a structured way (they should just expose that as a json tbh).

View file

@ -23,7 +23,7 @@ let
pkgs.haskellPackages.nicify-lib
pkgs.haskellPackages.tagsoup
];
ghcArgs = [ "-threaded" ];
}
./ReverseHaskellDeps.hs;

View file

@ -0,0 +1,3 @@
# sync-abfall-ics-aichach-friedberg
A small tool to sync the ICS files for the local trash collection times at https://abfallwirtschaft.lra-aic-fdb.de/

View file

@ -0,0 +1,5 @@
# ytextr
Wrapper around `yt-dlp` for downloading videos in good default quality with good default settings.
Will always download the most up-to-date `yt-dlp` first, because the software usually stops working after a few weeks and needs to be updated, so just using `<nixpkgs>` often fails.