snix/users/sterni/blërg/default.nix
sterni 6479f9ae5e feat(sterni/blërg): yet another blog software
Currently, blërg is an incomplete reimplementation of
//users/sterni/mblog that uses mblaze(7) and //users/sterni/mn2html to
process the backing mail notes.

Now, why start from scratch again?

- mblog is depressingly slow at the moment which is due to
  //third_party/lisp/mime4cl. The performance problems are
  (probably) solvable, but this would require carefully
  redesigning the library's use of streams. I'm not motivated
  to look into that at the moment, unfortunately.

- I had an idea for intergrating additional storage backends
  for entries into an mblog like software. I've found experimenting
  with this in BQN to be quite pleasant as the backends can
  easily be expressed as namespaces.

Change-Id: I90c8ff7b5f7235d6fd7b0619338b553be8742e49
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13015
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-02-05 18:19:33 +00:00

32 lines
680 B
Nix

{ depot, pkgs, lib, ... }:
let
runtimeDependencies = [
depot.users.sterni.mn2html
pkgs.mblaze
pkgs.execline # execline-cd
];
buildInputs = [
pkgs.cbqn
];
in
pkgs.runCommandNoCC "blerg"
{
src = builtins.path {
name = "blerg.bqn";
path = ./. + "/blërg.bqn";
};
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
inherit buildInputs;
passthru.shell = pkgs.mkShell {
name = "blërg-shell";
packages = runtimeDependencies ++ buildInputs;
};
}
''
install -Dm755 "$src" "$out/bin/blërg"
patchShebangs "$out/bin/blërg"
wrapProgram "$out/bin/blërg" --prefix PATH : "${lib.makeBinPath runtimeDependencies}"
''