diff options
-rw-r--r-- | gui/conf/init.el | 4 | ||||
-rw-r--r-- | gui/emacs.nix | 20 | ||||
-rw-r--r-- | gui/patch/optional-org-gnus.patch | 15 |
3 files changed, 34 insertions, 5 deletions
diff --git a/gui/conf/init.el b/gui/conf/init.el index 5f857df..c8cfe70 100644 --- a/gui/conf/init.el +++ b/gui/conf/init.el @@ -4,6 +4,9 @@ (require 'package) (package-initialize) +(eval-when-compile + (require 'use-package)) + (setq backup-directory-alist `((".*" . "~/.emacs.d/backup"))) (setq custom-file "~/.emacs.d/custom.el") @@ -146,6 +149,7 @@ :ensure t) (use-package org + :ensure t :custom (org-adapt-indentation nil) (org-startup-indented t) diff --git a/gui/emacs.nix b/gui/emacs.nix index a0cd3bd..37c135b 100644 --- a/gui/emacs.nix +++ b/gui/emacs.nix @@ -32,8 +32,8 @@ in { (add-to-list 'exec-path "${tex}/bin") (add-to-list 'exec-path "${pkgs.graphviz}/bin") (add-to-list 'exec-path "${pkgs.sqlite}/bin") - - (setq counsel-etags-update-tags-backend (lambda (src-dir) (shell-command "${pkgs.universal-ctags}/bin/ctags -e -R"))) + (add-to-list 'exec-path "${pkgs.universal-ctags}/bin") + (add-to-list 'exec-path "${pkgs.global}/bin") ''; }; @@ -51,11 +51,21 @@ in { package = pkgs-unstable.emacsWithPackagesFromUsePackage { config = ./conf/init.el; - package = pkgs-unstable.emacsGcc; - extraEmacsPackages = epkgs: with epkgs.melpaPackages; [ + # remove builtin org as in https://github.com/chrisbarrett/.emacs.d/blob/6efd82c8e328e677dbef84331ed54763b89667a3/default.nix + # this is a workaround until I find a better way to force usage of a non-builtin up-to-date org version + package = pkgs-unstable.emacsGcc.overrideAttrs (old: { + patches = old.patches ++ [ + ./patch/optional-org-gnus.patch + ]; + postPatch = '' + ${old.postPatch} + rm -r test/lisp/org lisp/org etc/org etc/ORG-NEWS doc/misc/org.texi + ''; + }); + extraEmacsPackages = epkgs: (with epkgs.melpaPackages; [ pdf-tools mu4e-alert - ] ++ [ + ]) ++ [ akr-color-theme custom-runtime-env pkgs.mu diff --git a/gui/patch/optional-org-gnus.patch b/gui/patch/optional-org-gnus.patch new file mode 100644 index 0000000..b4329dd --- /dev/null +++ b/gui/patch/optional-org-gnus.patch @@ -0,0 +1,15 @@ +diff --git a/lisp/gnus/gnus-icalendar.el b/lisp/gnus/gnus-icalendar.el +index ee556a3..5ac1d78 100644 +--- a/lisp/gnus/gnus-icalendar.el ++++ b/lisp/gnus/gnus-icalendar.el +@@ -358,8 +358,8 @@ on the IDENTITIES list." + ;; TODO: this is an optional feature, and it's only available with org-mode + ;; 7+, so will need to properly handle emacsen with no/outdated org-mode + +-(require 'org) +-(require 'org-capture) ++(require 'org nil t) ++(require 'org-capture nil t) + + (defgroup gnus-icalendar-org nil + "Settings for Calendar Event gnus/org integration." |