This repository has been archived on 2025-11-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
home-manager-config/modules/applications/emacs/default.nix

54 lines
1.1 KiB
Nix

{ 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;
}