{ pkgs, lib, config, ... }: with lib; { services.emacs = { enable = true; package = with pkgs; ((emacsPackagesFor emacsNativeComp).emacsWithPackages (epkgs: with epkgs; [ vterm magit pdf-tools consult-eglot org org-roam command-log-mode all-the-icons doom-modeline doom-themes rainbow-delimiters smartparens aggressive-indent adaptive-wrap which-key exec-path-from-shell no-littering tree-sitter tree-sitter-langs rustic evil evil-collection general evil-escape evil-surround evil-org org-super-agenda websocket org-roam-ui org-present org-modern org-re-reveal org-re-reveal-ref org-re-reveal-citeproc ox-reveal oer-reveal ox-spectacle unicode-fonts emojify undo-tree visual-fill-column toc-org pulsar vertico consult marginalia all-the-icons-completion embark embark-consult corfu orderless cape devdocs yasnippet wgrep tempel projectile simple-httpd avy evil-avy ace-link ace-window helpful format-all web-mode lua-mode nix-mode cmake-mode fennel-mode yaml-mode docker docker-tramp fish-mode markdown-mode qml-mode csv-mode restclient ob-restclient dart-mode flutter hover direnv all-the-icons-dired dired-single dired-rainbow diredfl dired-rsync fd-dired ledger-mode org-msg calfw calfw-org calfw-ical org-caldav org-wild-notifier magit sly nov elfeed elfeed-org bongo emms transmission hass pass password-store password-store-otp plz ement mastodon qrencode gcmh use-package esh-autosuggest pkgs.mu ])); defaultEditor = true; }; }