Ahwxorg/modules/home/doom-emacs.nix

47 lines
983 B
Nix

{
config,
pkgs,
username,
...
}:
let
emacsdir = "/home/${username}/.config/emacs";
doom-install = pkgs.writeShellApplication {
name = "doom-install";
runtimeInputs = [ config.programs.git.package ];
text = ''
EMACS=${emacsdir}
if [ ! -f "$EMACS/bin/doom" ]; then
git clone https://github.com/hlissner/doom-emacs.git $EMACS
yes | $EMACS/bin/doom install
$EMACS/bin/doom sync
fi
'';
};
in
{
services.emacs = {
enable = true;
package = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages (epkgs: [
epkgs.vterm
epkgs.treesit-grammars.with-all-grammars
]);
};
# add doom to path
home = {
# sessionVariables = {
# PATH = [ "$HOME/.config/emacs/bin" ];
# DOOMDIR = "/home/${username}/flake/modules/home/doom-config/";
# };
packages = [
doom-install
pkgs.emacs
pkgs.shellcheck
pkgs.symbola
pkgs.nerd-fonts.symbols-only
];
};
}