Merge remote-tracking branch 'origin/develop'

This commit is contained in:
László Vaskó
2019-11-23 22:27:41 +01:00
3 changed files with 18 additions and 24 deletions

View File

@ -19,14 +19,13 @@ Using [home-manager](https://github.com/rycee/home-manager):
{ pkgs, ... }: { pkgs, ... }:
let let
doomPrivateDir = ./doom.d;
doom-emacs = pkgs.callPackage (builtins.fetchTarball { doom-emacs = pkgs.callPackage (builtins.fetchTarball {
url = https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz; url = https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz;
}) { inherit doomPrivateDir; }; }) {
doomPrivateDir = ./doom.d;
};
in { in {
home.packages = [ doom-emacs ]; home.packages = [ doom-emacs ];
home.file.".doom.d".source = doomPrivateDir;
home.file.".emacs.d".source = doom-emacs.emacsd; home.file.".emacs.d".source = doom-emacs.emacsd;
} }
``` ```

View File

@ -142,9 +142,8 @@ let
packages = straight-env.packageList (super: { packages = straight-env.packageList (super: {
phases = [ "installPhase" ]; phases = [ "installPhase" ];
preInstall = '' preInstall = ''
export DOOMDIR=$(mktemp -d) export DOOMDIR=${doomPrivateDir}
export DOOMLOCALDIR=$DOOMDIR/local/ export DOOMLOCALDIR=$(mktemp -d)/local/
cp ${doomPrivateDir}/* $DOOMDIR
''; '';
}); });
@ -160,10 +159,8 @@ let
phases = [ "installPhase" ]; phases = [ "installPhase" ];
buildInputs = super.buildInputs ++ [ git ]; buildInputs = super.buildInputs ++ [ git ];
preInstall = '' preInstall = ''
export DOOMDIR=$(mktemp -d) export DOOMDIR=${doomPrivateDir}
export DOOMLOCALDIR=$out/ export DOOMLOCALDIR=$out/
mkdir -p $DOOMDIR
cp ${doomPrivateDir}/* $DOOMDIR
''; '';
}); });
@ -196,20 +193,26 @@ let
(load "${doom-emacs}/init.el") (load "${doom-emacs}/init.el")
''; '';
load-extra-config = writeTextDir "share/emacs/site-lisp/nix-integration.el" '' # `extraConfig` is merged into private configuration
;;; -*- lexical-binding: t; -*- doomDir = pkgs.runCommand "doom-private" {
inherit extraConfig;
${extraConfig} passAsFile = [ "extraConfig" ];
} ''
mkdir -p $out
cp ${doomPrivateDir}/* $out
chmod u+w $out/config.el
cat $extraConfigPath >> $out/config.el
''; '';
in (emacsPackages.emacsWithPackages (epkgs: [ in (emacsPackages.emacsWithPackages (epkgs: [
load-extra-config
load-config-from-site load-config-from-site
])).overrideAttrs (super: { ])).overrideAttrs (super: {
outputs = [ "out" "emacsd" ]; outputs = [ "out" "emacsd" ];
buildInputs = [ doom-emacs ]; buildInputs = [ doom-emacs ];
installPhase = super.installPhase + '' installPhase = super.installPhase + ''
echo ln -snf ${doom-emacs} $emacsd
ln -snf ${doom-emacs} $emacsd ln -snf ${doom-emacs} $emacsd
for prog in $out/bin/*; do
wrapProgram $prog --set DOOMDIR ${doomDir}
done
''; '';
}); });

View File

@ -38,11 +38,3 @@ index cb12f8d08..03f370691 100644
custom-theme-directory (concat doom-private-dir "themes/") custom-theme-directory (concat doom-private-dir "themes/")
desktop-dirname (concat doom-etc-dir "desktop") desktop-dirname (concat doom-etc-dir "desktop")
desktop-base-file-name "autosave" desktop-base-file-name "autosave"
@@ -489,6 +488,7 @@ to least)."
(daemonp))
(file-exists-p doom-env-file))
(doom-load-envvars-file doom-env-file))
+ (load "nix-integration.el" t)
(require 'core-modules)
(let (;; `doom-autoload-file' tells Emacs where to load all its functions