nixos/home/emacs/default.nix

94 lines
2.1 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; };
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;
2023-10-18 07:57:41 +01:00
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
isort
2023-10-18 16:04:12 +01:00
python3
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
2023-10-18 16:04:12 +01:00
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
];
};
}