43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
Nix
{ 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; });
|
|
}
|