László Vaskó 314de52ee4 Prevent doom to kill emacs before dumping package list
New behavior is introduced here:
> commit e632871a115528a9c1ce90d7d2147873009716eb
> Author: Henrik Lissner <henrik@lissner.net>
> Date:   Mon Aug 24 00:36:52 2020 -0400
>
>     core-cli: backport more refactors from rewrite
>
>     Still a long way to go, but this introduces a few niceties for
>     debugging CLI failures:
>
>     + The (extended) output of the last bin/doom command is now logged to
>       ~/.emacs.d/.local/doom.log
>     + If an error occurs, short backtraces are displayed whether or not you
>       have debug mode on. The full backtrace is written to
>       ~/.emacs.d/.local/doom.error.log.
>     + bin/doom now aborts with a warning if:
>       - The script itself or its parent directory is a symlink. It's fine if
>         ~/.emacs.d is symlinked though.
>       - Running bin/doom as root when your DOOMDIR isn't in /root/.
>       - If you're sporting Emacs 26.1 (now handled in the elisp side rather
>         than the /bin/sh shebang preamble).
>     + If a 'doom sync' was aborted prematurely, you'll be warned that Doom
>       was left in an inconsistent state and that you must run `doom sync`
>       again.
>
>     May address #3746

The above commit introduces an explicit call to `(kill-emacs)` at the
end of doom cli's main function. This conflicts with `nix-straight.el`'s
package collection as it would run after doom is initialized.

The commit disables `(kill-emacs)` method while package collection is in
progress.
2020-08-30 19:12:42 +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.

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