{ pkgs } @ args: let inherit args; emacs-pkg = pkgs.emacs; epkgs = emacs-pkg.pkgs; trivialBuild = epkgs.trivialBuild; orgTrivialBuild = attrs : (trivialBuild (pkgs.lib.mergeAttrs attrs { preBuild = '' for file in ./*.org do emacs --batch --eval "(require 'org)" --eval "(org-babel-tangle-file \"$file\" (concat (file-name-sans-extension \"$file\") \".el\") \"emacs-lisp\")" done ''; unpackCmd = '' case "$curSrc" in *.el) # keep original source filename without the hash local filename=$(basename "$curSrc") filename="''${filename:33}" cp $curSrc $filename chmod +w $filename sourceRoot="." ;; *.org) # keep original source filename without the hash local filename=$(basename "$curSrc") filename="''${filename:33}" cp $curSrc $filename chmod +w $filename sourceRoot="." ;; *) _defaultUnpack "$curSrc" ;; esac ''; })); in { azos.emacs.base = (pkgs.callPackage ./azos-emacs-base.nix { orgTrivialBuild = orgTrivialBuild; epkgs = epkgs; }); }