Make it work as home-manager program.emacs.package

This commit is contained in:
Ross A. Baker
2019-12-13 17:54:23 -05:00
parent a041d16de8
commit bd13c99287

View File

@ -211,13 +211,12 @@ let
(load "${doom-emacs}/early-init.el")) (load "${doom-emacs}/early-init.el"))
(load "${doom-emacs}/init.el") (load "${doom-emacs}/init.el")
''; '';
in (emacsPackages.emacsWithPackages (epkgs: [ in (emacsPackages.emacsWithPackages (epkgs: [
load-config-from-site load-config-from-site
])); ]));
in in
pkgs.runCommand "doom-emacs" { pkgs.runCommand "doom-emacs" {
inherit doom-emacs emacs; inherit emacs;
buildInputs = [ emacs ]; buildInputs = [ emacs ];
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
} '' } ''
@ -225,4 +224,10 @@ pkgs.runCommand "doom-emacs" {
for prog in $emacs/bin/*; do for prog in $emacs/bin/*; do
makeWrapper $prog $out/bin/$(basename $prog) --set DOOMDIR ${doomDir} makeWrapper $prog $out/bin/$(basename $prog) --set DOOMDIR ${doomDir}
done done
# emacsWithPackages assumes share/emacs/site-lisp/subdirs.el
# exists, but doesn't pass it along. When home-manager calls
# emacsWithPackages again on this derivation, it fails due to
# a dangling link to subdirs.el.
# https://github.com/NixOS/nixpkgs/issues/66706
ln -s ${emacs.emacs}/share $out
'' ''