mirror of
https://github.com/Ahwxorg/nixos-config.git
synced 2026-07-16 22:21:55 +08:00
47 lines
983 B
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
|
|
];
|
|
};
|
|
}
|