;; -*- no-byte-compile: t; -*- ;;; $DOOMDIR/packages.el ;; To install a package with Doom you must declare them here and run 'doom sync' ;; on the command line, then restart Emacs for the changes to take effect -- or ;; use 'M-x doom/reload'. ;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: ;(package! some-package) ;; To install a package directly from a remote git repo, you must specify a ;; `:recipe'. You'll find documentation on what `:recipe' accepts here: ;; https://github.com/raxod502/straight.el#the-recipe-format ;(package! another-package ; :recipe (:host github :repo "username/repo")) ;; If the package you are trying to install does not contain a PACKAGENAME.el ;; file, or is located in a subdirectory of the repo, you'll need to specify ;; `:files' in the `:recipe': ;(package! this-package ; :recipe (:host github :repo "username/repo" ; :files ("some-file.el" "src/lisp/*.el"))) ;; If you'd like to disable a package included with Doom, you can do so here ;; with the `:disable' property: ;(package! builtin-package :disable t) ;; You can override the recipe of a built in package without having to specify ;; all the properties for `:recipe'. These will inherit the rest of its recipe ;; from Doom or MELPA/ELPA/Emacsmirror: ;(package! builtin-package :recipe (:nonrecursive t)) ;(package! builtin-package-2 :recipe (:repo "myfork/package")) ;; Specify a `:branch' to install a package from a particular branch or tag. ;; This is required for some packages whose default branch isn't 'master' (which ;; our package manager can't deal with; see raxod502/straight.el#279) ;(package! builtin-package :recipe (:branch "develop")) ;; Use `:pin' to specify a particular commit to install. ;(package! builtin-package :pin "1a2b3c4d5e") ;; Doom's packages are pinned to a specific commit and updated from release to ;; release. The `unpin!' macro allows you to unpin single packages... ;(unpin! pinned-package) ;; ...or multiple packages ;(unpin! pinned-package another-pinned-package) ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) ;(unpin! t) (package! avy) (package! cheatsheet) (package! separedit) (package! magit-delta) (package! crux) (package! string-inflection) (package! smart-hungry-delete) (package! solarized-theme) (package! deadgrep) (package! grip-mode) (package! org-protocol-capture-html) (package! org-superstar) (package! alert) (package! anki-editor) (unpin! org-roam) (package! websocket) (package! org-roam-ui) (package! edit-server) (package! per-buffer-theme) (package! org-chef) (package! keychain-environment) (package! hotfuzz) (package! alert) (package! uuidgen) ;;; Languages ;; Idris2 (package! idris2-mode :recipe (:host github :repo "idris-community/idris2-mode" :branch "main")) ;; G-Code (package! gcode-mode) ;; Unpin evil collection and use the latest ;; ;; This is to fix issues with mu4e 1.10, see ;; https://github.com/emacs-evil/evil-collection/issues/695, but I think I'll end up keeping this as ;; it's nice to have the latest (unpin! evil-collection) (package! evil-collection :recipe (:repo "emacs-evil/evil-collection" :branch "master")) ;; Use nix provided packages when possible (package! vterm :built-in 'prefer) (package! pdf-tools :built-in 'prefer) ;; Only use nix provided emacsql on macos (when IS-MAC (package! emacsql :built-in 'prefer) (package! emacsql-sqlite :built-in 'prefer)) (when IS-LINUX (package! mu4e :built-in 'prefer) (package! mu4e-alert)) (when (not IS-WINDOWS) (package! multi-vterm))