nixos-config/home/emacs.nix

63 lines
1.4 KiB
Nix

# home-manager configuration for Emacs
{lib, pkgs, ...}:
let
emacs-config = builtins.fetchGit {
url = "git@git.nirgendwo.xyz:janis/dot-emacs.git";
ref = "main";
rev = "39d889549f2b0b5c5392852daa862437e080a710";
};
in {
# TODO: turn this into a FHS or package so these dependencies don't have to be
# accessible from the global namespace.
home.packages = with pkgs; [
python3
enchant2 # spell checking
enchant2.dev # for building jinx
pkg-config
ripgrep # for Emacs' ripgrep integration
libvterm-neovim # vterm support for Emacs
nodejs_24
copilot-node-server
copilot-language-server-fhs
cmake
libtool
gnumake
gcc
texlive.combined.scheme-full
(tree-sitter.withPlugins (grammars: with grammars; [
tree-sitter-bash
tree-sitter-nix
tree-sitter-toml
tree-sitter-elisp
tree-sitter-rust
tree-sitter-cpp
tree-sitter-c
tree-sitter-zig
tree-sitter-elisp
tree-sitter-markdown
pkgs.tree-sitter-slang
]))
# spelling
(hunspellWithDicts [
hunspellDicts.en-gb-ise
hunspellDicts.en-gb-large
hunspellDicts.de-de
hunspellDicts.da-dk
])
# language servers
pkgs.unstable.rust-analyzer
nixd];
# xdg.configFile = {
# "emacs" = {
# source = emacs-config;
# };
# };
programs.emacs = {
enable = true;
package = pkgs.emacs-git-pgtk;
};
}