{ pkgs, lib, config, ... }: with lib; { services.emacs = { enable = true; package = with pkgs; ((emacsPackagesFor emacsPgtk).emacsWithPackages (epkgs: with epkgs; [ vterm melpaPackages.magit pdf-tools consult-eglot org org-roam org-ql denote denote-refs 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 melpaPackages.evil melpaPackages.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 melpaPackages.consult melpaPackages.marginalia all-the-icons-completion melpaPackages.embark melpaPackages.embark-consult corfu melpaPackages.orderless melpaPackages.cape devdocs yasnippet wgrep melpaPackages.tempel melpaPackages.tempel-collection 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 typescript-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 sly nov elfeed elfeed-org bongo emms transmission hass pass password-store password-store-otp plz elpaPackages.ement mastodon qrencode gcmh use-package esh-autosuggest pkgs.mu ])); defaultEditor = true; }; }