Skip to content

Commit

Permalink
Update runtime patches
Browse files Browse the repository at this point in the history
  • Loading branch information
thiagokokada committed Oct 22, 2022
1 parent 268d29b commit e23ce24
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 105 deletions.
9 changes: 4 additions & 5 deletions default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,10 @@ let

patches = [
(substituteAll {
src = ./patches/nix-integration.patch;
local = doomLocal;
src = ./patches/early-init.patch;
doom = src;
})
./patches/move-doom-dir-paths-to-HOME.patch
];

buildPhase = ''
Expand Down Expand Up @@ -225,9 +226,7 @@ let
# startup performance
emacs-dir = runCommand "emacs-dir" { } ''
mkdir -p $out
cat > $out/early-init.el << EOF
(load "${doom-emacs}/early-init.el")
EOF
cp ${doom-emacs}/early-init.el $out
cat > $out/init.el << EOF
(load "default.el")
EOF
Expand Down
26 changes: 26 additions & 0 deletions patches/early-init.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
diff --git a/early-init.el b/early-init.el
index c6e6b4d68..16d99a785 100644
--- a/early-init.el
+++ b/early-init.el
@@ -60,20 +60,7 @@
(profile (or (cadr (member "--profile" command-line-args))
(getenv-internal "DOOMPROFILE"))))
(if (null profile)
- ;; REVIEW: Backported from Emacs 29. Remove when 28 support is dropped.
- (let ((init-dir (or (cadr (member "--init-directory" command-line-args))
- (getenv-internal "EMACSDIR"))))
- (if (null init-dir)
- ;; FIX: If we've been loaded directly (via 'emacs -batch -l
- ;; early-init.el') or by a doomscript (like bin/doom), and Doom
- ;; is in a non-standard location (and/or Chemacs is used), then
- ;; `user-emacs-directory' will be wrong.
- (when noninteractive
- (setq user-emacs-directory
- (file-name-directory (file-truename load-file-name))))
- ;; FIX: To prevent "invalid option" errors later.
- (push (cons "--init-directory" (lambda (_) (pop argv))) command-switch-alist)
- (setq user-emacs-directory (expand-file-name init-dir))))
+ (setq user-emacs-directory "@doom@")
;; FIX: Discard the switch to prevent "invalid option" errors later.
(push (cons "--profile" (lambda (_) (pop argv))) command-switch-alist)
;; Running 'doom sync' or 'doom profile sync' (re)generates a light
58 changes: 58 additions & 0 deletions patches/move-doom-dir-paths-to-HOME.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
From 9113cfb774b793fd1a0e0ab4ed7174c6f6b37986 Mon Sep 17 00:00:00 2001
From: Thiago Kenji Okada <[email protected]>
Date: Sat, 22 Oct 2022 12:15:58 +0100
Subject: [PATCH] Move doom-*-dir paths to HOME

---
lisp/doom.el | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/lisp/doom.el b/lisp/doom.el
index ce585080f..079ca3bb8 100644
--- a/lisp/doom.el
+++ b/lisp/doom.el
@@ -220,12 +220,7 @@ These files should not be shared across systems. By default, it is used by

(define-obsolete-variable-alias 'doom-etc-dir 'doom-data-dir "3.0.0")
(defvar doom-data-dir
- (if doom-profile
- (if IS-WINDOWS
- (expand-file-name "doomemacs/data/" (getenv-internal "APPDATA"))
- (expand-file-name "doom/" (or (getenv-internal "XDG_DATA_HOME") "~/.local/share")))
- ;; DEPRECATED: .local will be removed entirely in 3.0
- (file-name-concat doom-local-dir "etc/"))
+ "~/.local/share/doom/"
"Where Doom stores its global data files.

Data files contain shared and long-lived data that Doom, Emacs, and their
@@ -239,12 +234,7 @@ generated files for profiles, profiles themselves, autoloads/loaddefs, etc.
For profile-local data files, use `doom-profile-data-dir' instead.")

(defvar doom-cache-dir
- (if doom-profile
- (if IS-WINDOWS
- (expand-file-name "doomemacs/cache/" (getenv-internal "APPDATA"))
- (expand-file-name "doom/" (or (getenv-internal "XDG_CACHE_HOME") "~/.cache")))
- ;; DEPRECATED: .local will be removed entirely in 3.0
- (file-name-concat doom-local-dir "cache/"))
+ "~/.cache/doom/"
"Where Doom stores its global cache files.

Cache files represent non-essential data that shouldn't be problematic when
@@ -258,12 +248,7 @@ session files, ELPA archives, authinfo files, org-persist, etc.
For profile-local cache files, use `doom-profile-cache-dir' instead.")

(defvar doom-state-dir
- (if doom-profile
- (if IS-WINDOWS
- (expand-file-name "doomemacs/state/" (getenv-internal "APPDATA"))
- (expand-file-name "doom/" (or (getenv-internal "XDG_STATE_HOME") "~/.local/state")))
- ;; DEPRECATED: .local will be removed entirely in 3.0
- (file-name-concat doom-local-dir "state/"))
+ "~/.local/state/doom/"
"Where Doom stores its global state files.

State files contain non-essential, unportable, but persistent data which, if
--
2.37.3

100 changes: 0 additions & 100 deletions patches/nix-integration.patch

This file was deleted.

0 comments on commit e23ce24

Please sign in to comment.