github-actions[bot] aaa30697a2 niv doom-emacs: update 841eacc7 -> ae3a2fa8
## 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
2020-09-15 13:02:02 +02:00
2019-10-23 13:25:43 +02:00

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

Description
doom-emacs packaged for Nix [maintainers=@ckiee,@thiagokokada]
Readme MIT 3.3 MiB
Languages
Nix 64.3%
Emacs Lisp 35.7%