nixos/home/emacs/default.nix
Evie Litherland-Smith 55ae93f633 Big emacs re-write to use crafted-emacs
emacs/default.nix now links new init.el and modules directories (mine
and crafted-emacs) to ~/.config/emacs/
emacs/default.nix installs emacs29-pgtk with packages as needed in
module *-config.el definitions

Add tree-sitter with required parsers

Remove doom-emacs and places it was set
2023-10-23 17:28:05 +01:00

96 lines
1.9 KiB
Nix

{ 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
nix-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
python3
nodePackages.stylelint
];
};
}