nixos/home/emacs/default.nix
Evie Litherland-Smith 16babc3f15 Various additions / changes
Switch email from mu/mu4e to notmuch, with associated service changes

Add elfeed config, enable useful minor-modes

Slight restructure of file layout
2023-10-24 08:06:35 +01:00

115 lines
2.2 KiB
Nix

{ config, pkgs, crafted-emacs, ... }:
{
imports = [ ./formatters.nix ./lsp_servers.nix ];
stylix.targets.emacs.enable = false;
xdg.configFile = {
emacs = {
source = ./config;
recursive = true;
};
"emacs/crafted-emacs".source = crafted-emacs;
};
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 = with pkgs;
((emacsPackagesFor emacs29-pgtk).emacsWithPackages (epkgs:
with epkgs; [
# Theme
doom-themes
# completion-packages
cape
consult
corfu
corfu-terminal
embark
embark-consult
marginalia
orderless
vertico
# ide-packages
editorconfig
aggressive-indent
ibuffer-project
# custom
treesit-grammars.with-all-grammars
treesit-auto
apheleia
direnv
nix-mode
rust-mode
# org-packages
denote
org-appear
# ui-packages
all-the-icons
elisp-demos
helpful
# workspaces-packages
tabspaces
# writing-packages
markdown-mode
pandoc-mode
auctex
auctex-latexmk
# email-packages
notmuch
notmuch-indicator
# feed-packages
elfeed
elfeed-org
elfeed-webkit
elfeed-tube
elfeed-tube-mpv
# Additional packages
which-key
magit
vterm
]));
};
home = {
packages = with pkgs; [
# 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
python3
nodePackages.stylelint
];
};
}