72 lines
1.4 KiB
Nix
72 lines
1.4 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
inputs,
|
|
...
|
|
}: let
|
|
myPkgs = import pkgs.path {
|
|
inherit (pkgs) system;
|
|
overlays = [inputs.emacs-overlay.overlays.default];
|
|
};
|
|
addPlistSupport = pkg:
|
|
pkg.overrideAttrs (old: {
|
|
buildPhase =
|
|
''
|
|
export LSP_USE_PLISTS=true
|
|
''
|
|
+ (old.buildPhase or "");
|
|
});
|
|
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
|
|
|
|
cmake
|
|
libtool
|
|
glibtool
|
|
graphviz
|
|
mu
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
LSP_USE_PLISTS = "true";
|
|
};
|
|
|
|
programs.emacs = {
|
|
enable = true;
|
|
package = myPkgs.emacsWithPackagesFromUsePackage {
|
|
config = ./init.el;
|
|
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";
|
|
};
|
|
}
|