nixos/home/emacs/default.nix

98 lines
2 KiB
Nix
Raw Normal View History

{ config, pkgs, crafted-emacs, ... }:
{
imports = [ ./formatters.nix ./lsp_servers.nix ./tree-sitter.nix ];
stylix.targets.emacs.enable = false;
xdg.configFile = {
"emacs/init.el".source = ./init.el;
"emacs/modules".source = ./modules;
"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
# crafted-completion-packages
cape
consult
corfu
corfu-terminal
embark
embark-consult
marginalia
orderless
vertico
# crafted-ide-packages
treesit-auto
editorconfig
aggressive-indent
ibuffer-project
# crafted-org-packages
denote
org-appear
# crafted-ui-packages
all-the-icons
elisp-demos
helpful
# crafted-workspaces-packages
tabspaces
# crafted-writing-packages
markdown-mode
pandoc-mode
auctex
auctex-latexmk
# Additional packages
magit
vterm
direnv
nix-mode
rust-mode
]));
};
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
2023-10-18 16:04:12 +01:00
python3
nodePackages.stylelint
];
};
}