Evie Litherland-Smith
55ae93f633
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
96 lines
1.9 KiB
Nix
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
|
|
];
|
|
};
|
|
}
|