;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; Extend shr/eww with org features and analysis capability
(package! shrface)
(package! sql-indent)
(package! emacsql-mysql)
(package! emacs-with-nyxt
:recipe (:host github :repo "ag91/emacs-with-nyxt"))
(package! nndiscourse)
(unless IS-MAC (package! cask)) ; in prefer of `Brew'
(package! copilot
:recipe (:host github :repo "zerolfx/copilot.el" :files ("*.el" "dist")))
(package! minibuffer-header
:recipe (:host github :repo "rougier/minibuffer-header"))
(package! path-headerline-mode)
(package! mentor) ; Frontend for the rTorrent bittorrent client
(package! org-random-todo)
;;
;;; Tools
(package! dtache
;; Run shell cmds in sessions that are isolated from Emacs
:recipe (:host gitlab :repo "niklaseklund/dtache"))
(unless IS-MAC
(package! keychain-environment)
(package! trashed))
;;
;;; UI
;;; Themes
(package! aj-dark+-theme ; vscode dark+ theme
:recipe (:host github :repo "AloisJanicek/.doom.d-2nd"
:files ("themes/*dark+*")))
(package! ahungry-theme) ; Ahungry color theme for Emacs.
(package! almost-mono-themes) ; almost monochromatic color themes
(package! agraul-doom-themes ; doom-themes with alabaster & github
:recipe (:host gitlab :repo "agraul/dotfiles"
:files ("doom/themes/*.el")))
(package! quartz-theme
;; Dark Emacs theme inspired by Alabaster Dark & Jonathans Awesome Dark Theme
:recipe (:host github :repo "fm0xb/quartz-theme.el"))
;;; Miscellaneous
Private or extra to the Doom modules
;;
;;; Modules
;; -*- no-byte-compile: t; -*-
;;; app/jira/packages.el
(package! org-jira)
;; -*- no-byte-compile: t; -*-
;;; tools/leetcode/packages.el
(package! leetcode)
;; -*- no-byte-compile: t; -*-
;;; app/pocket/packages.el
(package! pocket-reader)
;; -*- no-byte-compile: t; -*-
;;; app/reddit/packages.el
(package! md4rd)
;; -*- no-byte-compile: t; -*-
;;; app/slack/packages.el
(package! slack)
(package! alert)
;; -*- no-byte-compile: t; -*-
;;; app/telega/packages.el
(package! telega)
;;; :completion company +tabnine
(when (modulep! :completion company +tabnine)
(package! company-tabnine
:recipe (:host github :repo "tommyX12/company-tabnine")))
;; -*- no-byte-compile: t; -*-
;;; editor/substitute/packages.el
(package! substitute)
;; -*- no-byte-compile: t; -*-
;;; emacs/ctrlf/packages.el
(package! ctrlf)
;; -*- no-byte-compile: t; -*-
;;; emacs/info/packages.el
(package! info-colors)
;; -*- no-byte-compile: t; -*-
;;; os/wsl/packages.el -*- lexical-binding: t; -*-
(let ((distro (doom-system-distro)))
(when (or (eq 'ubuntu distro) (eq 'debian distro)) (package! debian-el)))
;; -*- no-byte-compile: t; -*-
;;; tools/brief/packages.el
(package! cheat-sh) ; tldr but more detail, weaker syntax highlight
(package! howdoyou
:recipe (:host github :repo "thanhvg/emacs-howdoyou"))
(package! tldr)
;; -*- no-byte-compile: t; -*-
;;; tools/kubernetes/packages.el
(package! kubernetes)
(package! kubedoc)
+devdocs
;;; :tools lookup +devdocs (when (modulep! :tools lookup +devdocs) (package! devdocs))
+docsets
;;; :tools lookup +docsets (when (and IS-MAC (modulep! :tools lookup +docsets)) (package! dash-at-point))
;;; :tools magit +forge
(when (and EMACS29+ (modulep! :tools magit +forge))
(package! emacsql-sqlite-builtin
:recipe (:host github :repo "tarsiiformes/emacsql"
:branch "sqlite-backends")))
(package! magit-cz :recipe (:host github :repo "thaenalpha/magit-cz"))
;;; :lang clojure
(when (modulep! :lang clojure) (package! clj-deps-new))
;;; :lang org
(when (modulep! :lang org)
(package! orca) ; Org Capture
(package! org-roam-ui) ; User Interface for Org-roam
(package! org-ol-tree
:recipe (:host github :repo "Townk/org-ol-tree"))
(package! org-appear ; Auto-toggle Org elements
:recipe (:host github :repo "awth13/org-appear"))
(package! org-modern) ; Modern Org Mode
(package! org-transclusion) ; Transclude text content via links
(package! doct :recipe (:host github :repo "progfolio/doct"))
(when (modulep! :lang org +web)
(package! org-web-tools)) ; Display and capture web content
(package! org-yt :recipe (:host github :repo "thaenalpha/org-yt"))
(package! org-edit-indirect ; Edit anything, not just src blocks
:recipe (:host github :repo "agzam/org-edit-indirect.el")))
;;; :lang web +tailwind
(when (and (modulep! :tools lsp) (modulep! :lang web +tailwind))
(package! lsp-tailwindcss
:recipe (:host github :repo "merrickluo/lsp-tailwindcss")))
;; -*- no-byte-compile: t; -*-
;;; ui/fixmee/packages.el
(package! fixmee)
;; -*- no-byte-compile: t; -*-
;;; ui/discover/packages.el
(package! discover)
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 radian-software/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! :app :checkers :completion :config :editor
:emacs :email :input :lang :os :term :tools :ui)
…Or all packages (NOT RECOMMENDED); will likely break things)
(unpin! t)