Files
nixos/modules/home-manager/emacs/default.nix
2026-02-24 07:35:35 -05:00

61 lines
1.2 KiB
Nix

{
pkgs,
config,
...
}: let
in {
home.packages = with pkgs; [
emacs-lsp-booster
tree-sitter
fd
ripgrep
typescript-language-server
typescript
vscode-langservers-extracted
tailwindcss-language-server
rust-analyzer
nodejs
nixd
haskell-language-server
cmake
libtool
glibtool
graphviz
mu
];
home.sessionVariables = {
LSP_USE_PLISTS = "true";
};
programs.emacs = {
enable = true;
package = pkgs.emacsWithPackagesFromUsePackage {
config = ./init.el;
package = pkgs.emacs-pgtk;
defaultInitFile = false;
extraEmacsPackages = epkgs:
with epkgs; [
mu4e
pdf-tools
vterm
treesit-grammars.with-all-grammars
];
override = final: prev: {
lsp-mode = prev.lsp-mode.overrideAttrs (old: {
buildPhase =
''
export LSP_USE_PLISTS=true
''
+ (old.buildPhase or "");
});
};
};
};
services.emacs.enable = true;
home.file.".config/emacs/init.el" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/personal/nixos/modules/home-manager/emacs/init.el";
};
}