## Changelog for doom-emacs: Commits: [hlissner/doom-emacs@841eacc7...ae3a2fa8](841eacc77d...ae3a2fa8c2
) * [`7877c928`](7877c92809
) Docs: Fix typo: vterm-module.sh -> vterm-module.so * [`5c9e2181`](5c9e21814e
) Fix non evil environment (void variable evil this operator) * [`f22f2e28`](f22f2e28b8
) Modifying wrong variable judgment logic * [`4dc888d1`](4dc888d104
) Tangle org files on save if in same dir as config.org * [`5de08af8`](5de08af8da
) bin/doom: improve error output * [`b3077c96`](b3077c9625
) Bump :emacs dired * [`2337f145`](2337f14563
) bin/doom: enable-dir-local-variables = nil * [`0ef8f003`](0ef8f0031f
) configure dired-aux variables * [`1dd796b1`](1dd796b180
) Added :defer to dired-aux use-package! * [`8f64a0eb`](8f64a0eb31
) Fix hlissner/doom-emacs#3871: void-function doom-autoload-error * [`406c6510`](406c651059
) Increase search depth for doom/help-search-headings * [`aa063090`](aa06309067
) lang/markdown: fontify rust blocks correctly * [`5f47169c`](5f47169c0e
) Load ccls.el after lsp-mode * [`60ba42ca`](60ba42ca4a
) Fix hlissner/doom-emacs#3873: use thing-at-point for nox & elpy * [`79c1fcef`](79c1fcefcf
) Fix hlissner/doom-emacs#3863: "load" ispell after flyspell * [`3935d431`](3935d431fc
) tab-always-indent = nil * [`8024f4ed`](8024f4edf9
) Fix hlissner/doom-emacs#3215 (again): --path-separator / * [`bb74d271`](bb74d2716f
) Allow :no-native-compile in package recipes * [`ecc6fcd8`](ecc6fcd8d5
) Bump :lang javascript * [`5940d931`](5940d931f4
) Fix "read only variable" errors on doom {sync,upgrade} * [`73565f10`](73565f1041
) Only expand emmet snippets if at word boundary * [`5de263f6`](5de263f6a4
) Bump :lang common-lisp * [`91c1e705`](91c1e705e6
) checkers/spell: add add/remove word & next/prev error commands * [`3963b83e`](3963b83e2a
) checkers/spell: update readme * [`b0cd0e5e`](b0cd0e5efe
) Change scope of +spell/add-word with universal arg * [`ae3a2fa8`](ae3a2fa8c2
) doom-info: use &nopath prefix for 404'd modules
nix-doom-emacs
Nix expression to install and configure doom-emacs.
The expression builds a doom-emacs
distribution with dependencies
pre-installed based on an existing ~/.doom.d
directory.
It is not a fully fledged exprerience as some dependenices are not installed and
some may not be fully compatible as the version available in NixOS or
emacs-overlay may not be
compatible with the doom-emacs
requirements.
Getting started
Using home-manager:
{ pkgs, ... }:
let
doom-emacs = pkgs.callPackage (builtins.fetchTarball {
url = https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz;
}) {
doomPrivateDir = ./doom.d; # Directory containing your config.el init.el
# and packages.el files
};
in {
home.packages = [ doom-emacs ];
home.file.".emacs.d/init.el".text = ''
(load "default.el")
'';
}
Under the hood
This expression leverages nix-straight.el under the hood for installing depdendencies. The restrictions of that package apply here too.
Usage
instead of running emacs.d/bin/doom, once you have update your config files (packages.el, init.el, config.el), rebuild doom-emacs with nix. If you are using home-manager, simply run home-manager switch
Troubleshooting
On macOS on a fresh install, you might run into the error Too many files open
. running ulimit -S -n 2048
will only work for the duration of your shell and will fix the error