Merge remote-tracking branch 'origin/develop'
This commit is contained in:
@ -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;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
27
default.nix
27
default.nix
@ -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
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
Reference in New Issue
Block a user