Merge remote-tracking branch 'origin/develop'
This commit is contained in:
18
advice.el
18
advice.el
@ -1,20 +1,16 @@
|
||||
;;; -*- lexical-binding: t; -*-
|
||||
(advice-add 'nix-straight-get-used-packages
|
||||
:before (lambda (&rest r)
|
||||
(message "Advising doom installer to gather packages to install...")
|
||||
(advice-add 'doom-reload-autoloads
|
||||
(message "[nix-doom-emacs] Advising doom installer to gather packages to install...")
|
||||
(advice-add 'doom-cli-reload-autoloads
|
||||
:override (lambda (&optional file force-p)
|
||||
(message "Skipping generating autoloads...")))
|
||||
(message "[nix-doom-emacs] Skipping generating autoloads...")))
|
||||
(advice-add 'doom--format-print
|
||||
:around (lambda (orig-print &rest r)
|
||||
(let ((noninteractive nil))
|
||||
(apply orig-print r))))))
|
||||
|
||||
|
||||
|
||||
(advice-add 'doom-call-process
|
||||
:before (lambda (&rest r)
|
||||
(message "> call-process %s" r)))
|
||||
(advice-add 'doom-call-process
|
||||
:after (lambda (&rest r)
|
||||
(message "< call-process %s" r)))
|
||||
(advice-add 'y-or-n-p
|
||||
:override (lambda (q)
|
||||
(message "%s \n[nix-doom-emacs] --> answering NO" q)
|
||||
nil))
|
||||
|
63
default.nix
63
default.nix
@ -1,7 +1,27 @@
|
||||
{ # The files would be going to ~/.config/doom (~/.doom.d)
|
||||
doomPrivateDir
|
||||
# Package set to install emacs and dependent packages from
|
||||
/* Package set to install emacs and dependent packages from
|
||||
|
||||
Only used to get emacs package, if `bundledPackages` is set
|
||||
*/
|
||||
, emacsPackages
|
||||
/* Use bundled revision of github.com/nix-community/emacs-overlay
|
||||
as `emacsPackages`
|
||||
*/
|
||||
, bundledPackages ? true
|
||||
/* Override dependency versions
|
||||
|
||||
Hadful for testing out updated dependencies without publishing
|
||||
a new version of them.
|
||||
|
||||
Type: dependencyOverrides :: attrset -> either path derivation
|
||||
|
||||
Example:
|
||||
dependencyOverrides = {
|
||||
"emacs-overlay" = fetchFromGitHub { owner = /* ...*\/; };
|
||||
};
|
||||
*/
|
||||
, dependencyOverrides ? { }
|
||||
, lib
|
||||
, pkgs
|
||||
, stdenv
|
||||
@ -14,6 +34,12 @@
|
||||
, writeTextDir }:
|
||||
|
||||
let
|
||||
lock = pkgs.callPackage
|
||||
"${builtins.fetchTarball https://github.com/vlaci/nix-lock/archive/develop.tar.gz}/lock.nix" {
|
||||
path = ./derivations.lock;
|
||||
overrides = dependencyOverrides;
|
||||
};
|
||||
|
||||
# Packages we need to get the default doom configuration run
|
||||
overrides = self: super: {
|
||||
evil-escape = super.evil-escape.overrideAttrs (esuper: {
|
||||
@ -24,24 +50,14 @@ let
|
||||
version = "1";
|
||||
recipe = null;
|
||||
ename = pname;
|
||||
src = fetchFromGitHub {
|
||||
owner = "TobiasZawada";
|
||||
repo = "org-yt";
|
||||
rev = "40cc1ac76d741055cbefa13860d9f070a7ade001";
|
||||
sha256 = "0jsm3azb7lwikvc53z4p91av8qvda9s15wij153spkgjp83kld3p";
|
||||
};
|
||||
src = lock.get pname;
|
||||
};
|
||||
};
|
||||
|
||||
# Stage 1: prepare source for byte-compilation
|
||||
doomSrc = stdenv.mkDerivation {
|
||||
name = "doom-src";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hlissner";
|
||||
repo = "doom-emacs";
|
||||
rev = "22ae9cca15f5aa9215cf0ec2c7b0b78d64deddc0";
|
||||
sha256 = "0nya6qf2v0snd4zskxxradqdpiylpx3lxfrfi7xs04yb39ma99pn";
|
||||
};
|
||||
src = lock.get "doom-emacs";
|
||||
phases = ["unpackPhase" "patchPhase" "installPhase"];
|
||||
patches = [
|
||||
(substituteAll {
|
||||
@ -55,21 +71,24 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
# Bundled version of `emacs-overlay`
|
||||
emacs-overlay = import (lock.get "emacs-overlay") pkgs pkgs;
|
||||
|
||||
# Stage 2:: install dependencies and byte-compile prepared source
|
||||
doomLocal =
|
||||
let
|
||||
straight-env = pkgs.callPackage (fetchFromGitHub {
|
||||
owner = "vlaci";
|
||||
repo = "nix-straight.el";
|
||||
rev = "v1.0";
|
||||
sha256 = "038dss49bfvpj15psh5pr9jyavivninl0rzga9cn8qyc4g2cj5i0";
|
||||
}) {
|
||||
emacsPackages = emacsPackages.overrideScope' overrides;
|
||||
straight-env = pkgs.callPackage (lock.get "nix-straight.el") {
|
||||
emacsPackages =
|
||||
if bundledPackages then
|
||||
let
|
||||
epkgs = emacs-overlay.emacsPackagesFor emacsPackages.emacs;
|
||||
in epkgs.overrideScope' overrides
|
||||
else
|
||||
emacsPackages.overrideScope' overrides;
|
||||
emacsLoadFiles = [ ./advice.el ];
|
||||
emacsArgs = [
|
||||
"--"
|
||||
"install"
|
||||
"--no-fonts"
|
||||
"--no-env"
|
||||
];
|
||||
|
||||
# Need to reference a store path here, as byte-compilation will bake-in
|
||||
|
20
derivations.json
Normal file
20
derivations.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"doom-emacs": {
|
||||
"repo": "doom-emacs",
|
||||
"owner": "hlissner",
|
||||
"rev": "develop"
|
||||
},
|
||||
"nix-straight.el": {
|
||||
"owner": "vlaci",
|
||||
"repo": "nix-straight.el",
|
||||
"rev": "v1.0"
|
||||
},
|
||||
"org-yt": {
|
||||
"owner": "TobiasZawada",
|
||||
"repo": "org-yt"
|
||||
},
|
||||
"emacs-overlay": {
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay"
|
||||
}
|
||||
}
|
54
derivations.lock
Normal file
54
derivations.lock
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"doom-emacs": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "hlissner",
|
||||
"repo": "doom-emacs",
|
||||
"rev": "58e674d8fb85515e7980c87fc708dabb2b276128",
|
||||
"sha256": "1algblcah2y5lbrn60fjslszx3jz1p9w7bh82c788ih1d8x7z253"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-11-10T14:33:52+00:00",
|
||||
"rev": "58e674d8fb85515e7980c87fc708dabb2b276128"
|
||||
}
|
||||
},
|
||||
"nix-straight.el": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "vlaci",
|
||||
"repo": "nix-straight.el",
|
||||
"rev": "6182914aefea06ef514cd3f3f7f9f67db45940db",
|
||||
"sha256": "038dss49bfvpj15psh5pr9jyavivninl0rzga9cn8qyc4g2cj5i0"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-10-25T22:28:25+00:00",
|
||||
"rev": "6182914aefea06ef514cd3f3f7f9f67db45940db"
|
||||
}
|
||||
},
|
||||
"org-yt": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "TobiasZawada",
|
||||
"repo": "org-yt",
|
||||
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001",
|
||||
"sha256": "0jsm3azb7lwikvc53z4p91av8qvda9s15wij153spkgjp83kld3p"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-10-25T22:28:27+00:00",
|
||||
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001"
|
||||
}
|
||||
},
|
||||
"emacs-overlay": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "0bd32c063118ddc95d1a73ccd01b51a2d6dda24e",
|
||||
"sha256": "1yc1az5l6073x1amk4g3rvfd98wsq3z3jvh2l7crp8q6wq9rndpa"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-11-10T14:33:57+00:00",
|
||||
"rev": "0bd32c063118ddc95d1a73ccd01b51a2d6dda24e"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,25 +1,15 @@
|
||||
diff --git a/bin/doom b/bin/doom
|
||||
index bd381e5ab..37cc69569 100755
|
||||
--- a/bin/doom
|
||||
+++ b/bin/doom
|
||||
@@ -6,7 +6,7 @@
|
||||
":"; DOOMBASE=$(dirname "$0")/..
|
||||
":"; [ "$1" = -d ] || [ "$1" = --debug ] && { shift; export DEBUG=1; }
|
||||
":"; [ "$1" = doc ] || [ "$1" = doctor ] && { cd "$DOOMBASE"; shift; exec $EMACS --script bin/doom-doctor "$@"; exit 0; }
|
||||
-":"; [ "$1" = run ] && { cd "$DOOMBASE"; shift; exec $EMACS -q --no-splash -l bin/doom "$@"; exit 0; }
|
||||
+":"; [ "$1" = run ] && { cd "$DOOMBASE"; shift; exec $EMACS -q --no-splash -l bin/.doom-wrapped "$@"; exit 0; }
|
||||
":"; exec $EMACS --script "$0" -- "$@"
|
||||
":"; exit 0
|
||||
|
||||
diff --git a/core/core.el b/core/core.el
|
||||
index 9cc1cfc25..fcbc3a3cf 100644
|
||||
index cb12f8d08..03f370691 100644
|
||||
--- a/core/core.el
|
||||
+++ b/core/core.el
|
||||
@@ -54,20 +54,20 @@ decrease this. If you experience stuttering, increase this.")
|
||||
@@ -63,22 +63,21 @@ decrease this. If you experience stuttering, increase this.")
|
||||
"The root directory for Doom's modules. Must end with a slash.")
|
||||
|
||||
(defvar doom-local-dir
|
||||
(or (getenv "DOOMLOCALDIR")
|
||||
- (concat doom-emacs-dir ".local/"))
|
||||
(defconst doom-local-dir
|
||||
- (if-let (localdir (getenv "DOOMLOCALDIR"))
|
||||
- (expand-file-name (file-name-as-directory localdir))
|
||||
- (concat doom-emacs-dir ".local/"))
|
||||
+ (or (getenv "DOOMLOCALDIR")
|
||||
+ "@local@/")
|
||||
"Root directory for local storage.
|
||||
|
||||
@ -27,19 +17,19 @@ index 9cc1cfc25..fcbc3a3cf 100644
|
||||
These files should not be shared across systems. By default, it is used by
|
||||
`doom-etc-dir' and `doom-cache-dir'. Must end with a slash.")
|
||||
|
||||
-(defvar doom-etc-dir (concat doom-local-dir "etc/")
|
||||
+(defvar doom-etc-dir "~/.local/doom"
|
||||
-(defconst doom-etc-dir (concat doom-local-dir "etc/")
|
||||
+(defconst doom-etc-dir "~/.local/doom"
|
||||
"Directory for non-volatile local storage.
|
||||
|
||||
Use this for files that don't change much, like server binaries, external
|
||||
dependencies or long-term shared data. Must end with a slash.")
|
||||
|
||||
-(defvar doom-cache-dir (concat doom-local-dir "cache/")
|
||||
+(defvar doom-cache-dir "~/.cache/doom/"
|
||||
-(defconst doom-cache-dir (concat doom-local-dir "cache/")
|
||||
+(defconst doom-cache-dir "~/.cache/doom/"
|
||||
"Directory for volatile local storage.
|
||||
|
||||
Use this for files that change often, like cache files. Must end with a slash.")
|
||||
@@ -189,7 +189,7 @@ users).")
|
||||
@@ -196,7 +195,7 @@ users).")
|
||||
(setq abbrev-file-name (concat doom-local-dir "abbrev.el")
|
||||
async-byte-compile-log-file (concat doom-etc-dir "async-bytecomp.log")
|
||||
bookmark-default-file (concat doom-etc-dir "bookmarks")
|
||||
|
Reference in New Issue
Block a user