71 lines
1.6 KiB
Nix
71 lines
1.6 KiB
Nix
{ pkgs, inputs, ... }:
|
|
let
|
|
sessionVariables = {
|
|
DOOMLOCALDIR = "$HOME/.local/share/doomemacs";
|
|
DOOMPROFILELOADFILE = "$HOME/.local/share/doomemacs/profiles/load.el";
|
|
};
|
|
in {
|
|
imports = [ ../accounts/default.nix ../git/default.nix ];
|
|
xdg.configFile.emacs.source = inputs.doom-emacs;
|
|
systemd.user = { inherit sessionVariables; };
|
|
programs.emacs.enable = true;
|
|
home = {
|
|
inherit sessionVariables;
|
|
sessionPath = [ "${inputs.doom-emacs}/bin" ];
|
|
packages = with pkgs; [
|
|
# Emacs dependencies
|
|
ripgrep
|
|
coreutils
|
|
cmake
|
|
fd
|
|
graphviz
|
|
zip
|
|
unzip
|
|
|
|
# Language-specific requirements
|
|
ispell
|
|
findutils
|
|
sqlite
|
|
pandoc
|
|
gfortran
|
|
texlive.combined.scheme-medium
|
|
imagemagick
|
|
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
|
|
];
|
|
};
|
|
}
|