{ 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 ]; }; }