Merge remote-tracking branch 'origin/develop'

This commit is contained in:
László Vaskó
2019-11-10 17:41:58 +01:00
5 changed files with 135 additions and 56 deletions

View File

@ -1,20 +1,16 @@
;;; -*- lexical-binding: t; -*- ;;; -*- lexical-binding: t; -*-
(advice-add 'nix-straight-get-used-packages (advice-add 'nix-straight-get-used-packages
:before (lambda (&rest r) :before (lambda (&rest r)
(message "Advising doom installer to gather packages to install...") (message "[nix-doom-emacs] Advising doom installer to gather packages to install...")
(advice-add 'doom-reload-autoloads (advice-add 'doom-cli-reload-autoloads
:override (lambda (&optional file force-p) :override (lambda (&optional file force-p)
(message "Skipping generating autoloads..."))) (message "[nix-doom-emacs] Skipping generating autoloads...")))
(advice-add 'doom--format-print (advice-add 'doom--format-print
:around (lambda (orig-print &rest r) :around (lambda (orig-print &rest r)
(let ((noninteractive nil)) (let ((noninteractive nil))
(apply orig-print r)))))) (apply orig-print r))))))
(advice-add 'y-or-n-p
:override (lambda (q)
(advice-add 'doom-call-process (message "%s \n[nix-doom-emacs] --> answering NO" q)
:before (lambda (&rest r) nil))
(message "> call-process %s" r)))
(advice-add 'doom-call-process
:after (lambda (&rest r)
(message "< call-process %s" r)))

View File

@ -1,7 +1,27 @@
{ # The files would be going to ~/.config/doom (~/.doom.d) { # The files would be going to ~/.config/doom (~/.doom.d)
doomPrivateDir 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 , 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 , lib
, pkgs , pkgs
, stdenv , stdenv
@ -14,6 +34,12 @@
, writeTextDir }: , writeTextDir }:
let 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 # Packages we need to get the default doom configuration run
overrides = self: super: { overrides = self: super: {
evil-escape = super.evil-escape.overrideAttrs (esuper: { evil-escape = super.evil-escape.overrideAttrs (esuper: {
@ -24,24 +50,14 @@ let
version = "1"; version = "1";
recipe = null; recipe = null;
ename = pname; ename = pname;
src = fetchFromGitHub { src = lock.get pname;
owner = "TobiasZawada";
repo = "org-yt";
rev = "40cc1ac76d741055cbefa13860d9f070a7ade001";
sha256 = "0jsm3azb7lwikvc53z4p91av8qvda9s15wij153spkgjp83kld3p";
};
}; };
}; };
# Stage 1: prepare source for byte-compilation # Stage 1: prepare source for byte-compilation
doomSrc = stdenv.mkDerivation { doomSrc = stdenv.mkDerivation {
name = "doom-src"; name = "doom-src";
src = fetchFromGitHub { src = lock.get "doom-emacs";
owner = "hlissner";
repo = "doom-emacs";
rev = "22ae9cca15f5aa9215cf0ec2c7b0b78d64deddc0";
sha256 = "0nya6qf2v0snd4zskxxradqdpiylpx3lxfrfi7xs04yb39ma99pn";
};
phases = ["unpackPhase" "patchPhase" "installPhase"]; phases = ["unpackPhase" "patchPhase" "installPhase"];
patches = [ patches = [
(substituteAll { (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 # Stage 2:: install dependencies and byte-compile prepared source
doomLocal = doomLocal =
let let
straight-env = pkgs.callPackage (fetchFromGitHub { straight-env = pkgs.callPackage (lock.get "nix-straight.el") {
owner = "vlaci"; emacsPackages =
repo = "nix-straight.el"; if bundledPackages then
rev = "v1.0"; let
sha256 = "038dss49bfvpj15psh5pr9jyavivninl0rzga9cn8qyc4g2cj5i0"; epkgs = emacs-overlay.emacsPackagesFor emacsPackages.emacs;
}) { in epkgs.overrideScope' overrides
emacsPackages = emacsPackages.overrideScope' overrides; else
emacsPackages.overrideScope' overrides;
emacsLoadFiles = [ ./advice.el ]; emacsLoadFiles = [ ./advice.el ];
emacsArgs = [ emacsArgs = [
"--"
"install" "install"
"--no-fonts"
"--no-env"
]; ];
# Need to reference a store path here, as byte-compilation will bake-in # Need to reference a store path here, as byte-compilation will bake-in

20
derivations.json Normal file
View 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
View 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"
}
}
}

View File

@ -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 diff --git a/core/core.el b/core/core.el
index 9cc1cfc25..fcbc3a3cf 100644 index cb12f8d08..03f370691 100644
--- a/core/core.el --- a/core/core.el
+++ b/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 (defconst doom-local-dir
(or (getenv "DOOMLOCALDIR") - (if-let (localdir (getenv "DOOMLOCALDIR"))
- (expand-file-name (file-name-as-directory localdir))
- (concat doom-emacs-dir ".local/")) - (concat doom-emacs-dir ".local/"))
+ (or (getenv "DOOMLOCALDIR")
+ "@local@/") + "@local@/")
"Root directory for local storage. "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 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.") `doom-etc-dir' and `doom-cache-dir'. Must end with a slash.")
-(defvar doom-etc-dir (concat doom-local-dir "etc/") -(defconst doom-etc-dir (concat doom-local-dir "etc/")
+(defvar doom-etc-dir "~/.local/doom" +(defconst doom-etc-dir "~/.local/doom"
"Directory for non-volatile local storage. "Directory for non-volatile local storage.
Use this for files that don't change much, like server binaries, external Use this for files that don't change much, like server binaries, external
dependencies or long-term shared data. Must end with a slash.") dependencies or long-term shared data. Must end with a slash.")
-(defvar doom-cache-dir (concat doom-local-dir "cache/") -(defconst doom-cache-dir (concat doom-local-dir "cache/")
+(defvar doom-cache-dir "~/.cache/doom/" +(defconst doom-cache-dir "~/.cache/doom/"
"Directory for volatile local storage. "Directory for volatile local storage.
Use this for files that change often, like cache files. Must end with a slash.") 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") (setq abbrev-file-name (concat doom-local-dir "abbrev.el")
async-byte-compile-log-file (concat doom-etc-dir "async-bytecomp.log") async-byte-compile-log-file (concat doom-etc-dir "async-bytecomp.log")
bookmark-default-file (concat doom-etc-dir "bookmarks") bookmark-default-file (concat doom-etc-dir "bookmarks")