nixos/home/emacs/default.nix

72 lines
1.6 KiB
Nix

{ pkgs, inputs, ... }:
let
sessionVariables = {
DOOMLOCALDIR = "$HOME/.local/share/doomemacs";
DOOMPROFILELOADFILE = "$DOOMLOCALDIR/load.el";
};
in {
xdg.configFile.emacs.source = inputs.doom-emacs;
programs.emacs.enable = true;
home = {
inherit sessionVariables;
sessionPath = [ "$HOME/.config/emacs/bin" "$HOME/.emacs.d/bin" ];
packages = with pkgs; [
# Emacs dependencies
coreutils
gnutls
# git-with-svn
ripgrep
cmake
fd
imagemagick
zstd
graphviz
zip
unzip
# Language-specific requirements
(aspellWithDicts (ds: with ds; [ en en-computers en-science ]))
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
];
};
}