{ pkgs ? import { system = "x86_64-linux"; } }: let build-article = pkgs.writeShellApplication { name = "build-article"; runtimeInputs = with pkgs; [ which texliveFull emacs git ]; text = builtins.readFile ./build/build-article.sh; }; articles = pkgs.stdenv.mkDerivation { name = "articles"; src = builtins.filterSource (path: type: !(pkgs.lib.strings.hasPrefix "result" (baseNameOf path))) ./.; buildInputs = with pkgs; [ emacs git build-article ]; buildPhase = '' cp -a . $out cd $out find . -name '*.org' -exec build-article {} \; ''; }; in { inherit build-article articles; default = articles; }