# 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; }; }