{ pkgs, lib, config, ... }: let myEmacs = pkgs.emacs-pgtk; in with lib; { services.emacs = { enable = true; package = with pkgs; ((emacsPackagesFor myEmacs).emacsWithPackages (epkgs: with epkgs; [ vterm melpaPackages.magit pdf-tools consult-eglot org bluetooth melpaPackages.org-roam melpaPackages.org-ql melpaPackages.dired-sidebar chatgpt-shell denote denote-refs command-log-mode all-the-icons doom-modeline doom-themes rainbow-delimiters smartparens paredit aggressive-indent adaptive-wrap which-key exec-path-from-shell no-littering languagetool rustic melpaPackages.slint-mode flycheck-clj-kondo clojure-mode cider 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 org-web-tools org-transclusion ox-reveal ox-hugo oer-reveal 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 jinx eat kind-icon melpaPackages.orderless melpaPackages.cape devdocs nano-theme nano-modeline nano-agenda yasnippet wgrep melpaPackages.tempel melpaPackages.tempel-collection projectile simple-httpd avy evil-avy ace-link ace-window helpful format-all web-mode php-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 elfeed-protocol bongo empv emms transmission hass pass password-store password-store-otp plz elpaPackages.ement mastodon qrencode gcmh mu4e use-package esh-autosuggest melpaPackages.org-ai melpaPackages.gptel pkgs.ispell pkgs.mu pkgs.openjdk pkgs.languagetool pkgs.emacs-all-the-icons-fonts ])); defaultEditor = true; }; }