id = "doom-emacs" name = "Doom Emacs" homepage = "https://github.com/doomemacs/doomemacs" description = "An Emacs framework for the stubborn martian hacker." # The Doom Emacs mark, from the doomemacs organisation's avatar — the same # image doomemacs.org serves as its favicon. icon = "https://github.com/doomemacs.png" executables = ["doom"] [dotfiles] # docs/getting_started.org: Doom recognizes one of two private configuration # directories, "~/.config/doom (respects $XDG_CONFIG_HOME)" or "~/.doom.d", and # "only one of these directories should exist (Doom will only recognize one)"; # $DOOMDIR overrides both. `doom install` "will set up your DOOMDIR at ~/.doom.d # (if it doesn't already exist)" and writes the three files that are the user's # configuration: init.el, "Where you'll find your doom! block, which controls # what Doom modules are enabled"; config.el, "Here is where 99.99% of your # private configuration should go"; and packages.el, "Package management is done # from this file". # The XDG spelling reads the variable, hence [configHome]. The legacy ~/.doom.d # is joined to the home directory and stays literal. paths = ["~/.doom.d/", "[configHome]/doom/"] # Doom's own install — ~/.emacs.d or ~/.config/emacs — is a checkout of the # framework rather than the user's configuration, and the package and native # compilation caches live under it. None of that is inside the two directories # above, so there is nothing to carve out of them. The `emacs` entry covers the # init files that live in that other tree. # config.el is Emacs Lisp the user wrote. Tokens belong in the auth-source files # the `emacs` entry marks, not here. secret = [] # No side_effect = false: a running Emacs can write these files back out. # No machine_lines: the machine-local part of an Emacs Lisp config — a font # name, a Homebrew prefix, a (setq …) with an absolute path — sits inside an # expression, which prefix matching cannot pick out of the line around it. Same # reasoning as the `emacs` entry.