nixos/home/emacs/default.nix

66 lines
1.5 KiB
Nix
Raw Normal View History

{ config, pkgs, crafted-emacs, ... }:
{
stylix.targets.emacs.enable = false;
xdg.configFile = {
"emacs/init.el".source = ./init.el;
"emacs/snippets".source = ./snippets;
"emacs/modules".source = ./modules;
"emacs/crafted-emacs".source = crafted-emacs;
};
services.git-sync = {
enable = true;
repositories = with config.home; {
elfeed = {
path = "${homeDirectory}/.elfeed";
uri = "git+https://git.xenia.me.uk/xenia/elfeed.git";
};
};
};
home = {
packages = with pkgs; [
# Language-specific requirements
sqlite
pandoc
gfortran
rustup
texlive.combined.scheme-medium
(python3.withPackages
(ps: with ps; [ python-lsp-server python-lsp-ruff pylsp-mypy ]))
# Linters
nodePackages.stylelint
# Formatters
nixfmt
beautysh
black
isort
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.javascript-typescript-langserver
nodePackages.vscode-html-languageserver-bin
nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-json-languageserver-bin
nodePackages.dockerfile-language-server-nodejs
];
};
}