{ pkgs, ... }: { home.file.".emacs.d/early-init.el".source = ./config/early-init.el; home.file.".emacs.d/tree-sitter/libtree-sitter-swift.dylib".source = ./config/tree-sitter/libtree-sitter-swift.dylib; home.file.".emacs.d/snippets".source = ./config/snippets; programs.emacs = { enable = true; extraConfig = builtins.readFile ./config/init.el + builtins.readFile ./config/lisp/utils.el; extraPackages = epkgs: (with epkgs; [ ace-window apheleia avy cape cider clojure-mode consult consult-denote copilot corfu denote dockerfile-mode eat ef-themes eglot envrc exec-path-from-shell flycheck flycheck-clj-kondo flycheck-swiftlint gptel graphql-mode helpful htmlize jinx js2-mode json-mode ledger-mode ligature markdown-mode minions multiple-cursors nerd-icons nerd-icons-completion nerd-icons-corfu nerd-icons-dired nerd-icons-ibuffer ob-restclient ob-swift olivetti orderless org org-modern ox-gfm ox-reveal pulsar rainbow-delimiters rainbow-mode restclient smartparens swift-mode super-save terraform-mode treesit-auto ob-typescript yaml-mode vterm fontaine magit magit-todos marginalia modus-themes nix-mode vertico yasnippet ]); }; }