{ config, lib, pkgs, ... }: { home.packages = [ pkgs.emacs-all-the-icons-fonts pkgs.fontconfig pkgs.graphviz pkgs.isort pkgs.nerdfonts pkgs.nil # nix lsp language server pkgs.nixfmt-rfc-style (pkgs.ripgrep.override {withPCRE2 = true;}) pkgs.pipenv pkgs.poetry pkgs.python3 ]; fonts.fontconfig.enable = true; home.file = { ".config/emacs" = { source = fetchGit { url = "https://github.com/doomemacs/doomemacs.git"; rev = "36e7aaa619342eff61b1daf3ac664f94d5272db7"; }; recursive = true; }; }; home.activation.doomSync = lib.hm.dag.entryAfter [ "writeBoundary" ] (let emacs = pkgs.emacs; git = pkgs.git; in '' export PATH=${emacs}/bin:${git}/bin:$PATH ${config.xdg.configHome}/emacs/bin/doom sync -u -j $((`nproc`/4*3)) ''); home.sessionVariables = { DOOMLOCALDIR = "${config.xdg.dataHome}/doom"; EDITOR = "emacs -nw"; }; home.sessionPath = [ "${config.xdg.configHome}/emacs/bin" ]; programs.emacs = { enable = true; package = pkgs.emacs; }; xdg.configFile."doom".source = ./doom; }