mirror of
https://github.com/nix-community/nix-doom-emacs
synced 2025-09-26 16:41:06 -05:00
314de52ee480236b21fdab3f576ad1316ed9dee8
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.
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.
Languages
Nix
64.3%
Emacs Lisp
35.7%