nixos/home/emacs/default.nix

66 lines
1.5 KiB
Nix

{ config, pkgs, doom-emacs, ... }:
let
sessionVariables = rec {
DOOMLOCALDIR = "${config.home.homeDirectory}/.local/share/doomemacs";
DOOMPROFILELOADFILE = "${DOOMLOCALDIR}/load.el";
};
in {
imports = [ ./formatters.nix ./lsp_servers.nix ];
xdg.configFile = {
emacs.source = doom-emacs;
doom.source = ./doom;
};
systemd.user = { inherit sessionVariables; };
services.git-sync = {
enable = true;
repositories.org = {
path = "${config.home.homeDirectory}/Org";
uri = "git+https://git.xenia.me.uk/xenia/Org.git";
};
};
programs.emacs = {
enable = true;
package = pkgs.emacs29-pgtk;
};
stylix.targets.emacs.enable = false;
home = {
inherit sessionVariables;
sessionPath = [ "${config.xdg.configHome}/emacs/bin" ];
packages = with pkgs; [
# Additional/Compiled Emacs packages
emacsPackages.mu4e
emacsPackages.vterm
emacsPackages.pdf-tools
# Emacs dependencies
coreutils
gnutls
ripgrep
cmake
fd
imagemagick
zstd
graphviz
zip
unzip
# Language-specific requirements
(aspellWithDicts (ds: with ds; [ en en-computers en-science ]))
languagetool
wordnet
findutils
sqlite
pandoc
gfortran
rustup
texlive.combined.scheme-medium
python3
python3Packages.cython
python3Packages.pyflakes
python3Packages.nose
python3Packages.pytest
nodePackages.stylelint
];
};
}