doom.d/packages.el

111 lines
3.5 KiB
EmacsLisp

;; -*- 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)
(package! gcode-mode)
;;; 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))