nixos/home/emacs/default.nix

85 lines
1.9 KiB
Nix
Raw Normal View History

{ config, pkgs, doom-emacs, ... }:
let
sessionVariables = rec {
DOOMLOCALDIR = "${config.home.homeDirectory}/.local/share/doomemacs";
DOOMPROFILELOADFILE = "${DOOMLOCALDIR}/load.el";
};
in {
xdg.configFile = {
emacs.source = doom-emacs;
doom.source = ./doom;
};
systemd.user = { inherit sessionVariables; };
programs.emacs = {
enable = true;
package = pkgs.emacs29-pgtk;
};
home = {
inherit sessionVariables;
2023-09-12 11:59:27 +01:00
sessionPath = [ "$HOME/.config/emacs/bin" "$HOME/.emacs.d/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
texlive.combined.scheme-medium
python3
isort
python3Packages.cython
python3Packages.pyflakes
python3Packages.nose
python3Packages.pytest
nodePackages.stylelint
# Formatters
nixfmt
beautysh
black
nodePackages.fixjson
fprettify
shellharden
shfmt
stylua
python3Packages.mdformat
html-tidy
nodePackages.js-beautify
# LSP servers
nixd
fortls
shellcheck
marksman
luajitPackages.lua-lsp
texlab
nodePackages.pyright
nodePackages.yaml-language-server
nodePackages.bash-language-server
nodePackages.vscode-html-languageserver-bin
nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-json-languageserver-bin
nodePackages.dockerfile-language-server-nodejs
];
};
}