{ config, lib, pkgs, ...}: { home.file.".emacs.d/early-init.el" = { enable = false; text = "(setq package-enable-at-startup nil)"; }; home.file.".emacs.d/init.el" = { enable = true; text = builtins.readFile ./init.el; }; home.file.".emacs.d/templates" = { enable = true; text = builtins.readFile ./templates; }; programs.emacs = { enable = true; package = pkgs.emacs29-gtk3; extraConfig = builtins.readFile ./init.el; extraPackages = epkgs: with epkgs; [ airline-themes cape catppuccin-theme cider circe clojure-ts-mode code-review color-theme-modern consult consult-eglot corfu corfu-terminal delight dhall-mode editorconfig eglot el-patch embark embark-consult evil evil-cleverparens evil-collection evil-easymotion evil-snipe forge geiser git-gutter goto-chg guix keychain-environment lsp-scheme magit magit-todos marginalia moe-theme nerd-icons-completion nerd-icons-corfu nix-mode nix-ts-mode orderless org org-modern org-rainbow-tags org-roam org-roam-ui pass password-store password-store-otp plan9-theme powerline rainbow-delimiters smartparens tempel tree-sitter tree-sitter-langs vertico websocket wgrep which-key xref-union ]; }; }