diff --git a/cli2.el b/cli2.el index d41ec8e..82c166e 100644 --- a/cli2.el +++ b/cli2.el @@ -3,15 +3,6 @@ ;; We skip Doom's normal install and initialization. (require 'straight) -(defadvice! nix-doom-skip-core-packages (&rest _) - "HACK: don't install straight and core packages. - -`doom-initialize-core-packages' would no-op out if -`straight-recipe-repositories' is set, but we do not want to set -it. Just skip it entirely." - :override #'doom-initialize-core-packages - t) - (defcli! build-profile-loader-for-nix-build ((profile-name ("-n" form) "Profile name.") (profile-directory ("-p" dir) "Profile data directory.") diff --git a/doom.nix b/doom.nix index c3c9f41..d409cc6 100644 --- a/doom.nix +++ b/doom.nix @@ -20,6 +20,7 @@ linkFarm, runCommand, runtimeShell, + concatText, writeText, makeBinaryWrapper, }: @@ -230,6 +231,8 @@ let emacsWithPackages = doomEmacsPackages.emacsWithPackages (epkgs: (map (p: epkgs.${p}) (builtins.attrNames doomPackageSet))); # Step 4: build a final DOOMDIR with packages.el from step 1. + + finalInitFile = concatText "doom-init" [ ./pre-init.el doomInitFile ]; finalDoomDir = runCommand "doom-dir" {} '' mkdir $out if [[ -n "$(ls -A1 ${doomDir})" ]]; then @@ -239,6 +242,7 @@ let if ! [[ -e $out/snippets ]]; then mkdir $out/snippets fi + ln -sf ${finalInitFile} $out/init.el ln -sf ${doomIntermediates}/packages.el $out/ ln -sf ${./cli2.el} $out/cli.el ''; diff --git a/pre-init.el b/pre-init.el new file mode 100644 index 0000000..6857916 --- /dev/null +++ b/pre-init.el @@ -0,0 +1,15 @@ +;;; pre-init.el -*- lexical-binding: t; -*- + +;; Added to init.el by nix-doom-emacs-unstraightened + +(defadvice! nix-doom-skip-core-packages (&rest _) + "HACK: don't install straight and core packages. + +`doom-initialize-core-packages' would no-op out if +`straight-recipe-repositories' is set, but we do not want to set +it. Just skip it entirely." + :override #'doom-initialize-core-packages + (doom-log "Assuming straight was already initialized")) + +;; nix-doom-emacs-unstraightened additions end here. +;; Original init.el follows.