;; -*- 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/radian-software/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! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;; (unpin! t)

(package! conventional-commit
  :recipe (:host github :repo "akirak/conventional-commit.el" :files ("conventional-commit.el")))

;; TODO: Remove this when a fix for https://github.com/doomemacs/doomemacs/issues/8286 is included
(package! package-lint :pin "21edc6d0d0eadd2d0a537f422fb9b7b8a3ae6991")

(package! ws-butler
  :recipe (:host github
           :repo "emacsmirror/nongnu_elpa"
           :branch "elpa/ws-butler"
           :local-repo "ws-butler")
  :pin "9ee5a7657a22e836618813c2e2b64a548d27d2ff")

(package! smtlib-mode
  :recipe (:host github
           :repo "chsticksel/smtlib-mode"
           :branch "master"
           :local-repo "smtlib-mode")
  :pin "ed387e63b64091228e6a8a429b02b8fba165f5b5")

;; Usabel ein PR branch. Original is deprecated
(package! ein
  :recipe (:host github
           :repo "natsirtguy/emacs-ipython-notebook"
           :branch "fix-polymode-compatibility")
  :pin "2ff01b4adbb6302798fc84464d1e420e337113fd")

(package! envrc
  :recipe (:host github
           :repo "Grimpper/envrc"
           :branch "support-async-execution"
           )
  :pin "71f67971bc5eb2974ae2f738512c8f09f0822527")

(package! pdf-tools)
(package! eww)
(package! pandoc-mode)
(package! tramp)
(package! graphviz-dot-mode)
(package! rainbow-delimiters)
(package! jj-mode :recipe (:host github :repo "bolivier/jj-mode.el"))

(let ((package-dir (expand-file-name "packages.d" doom-user-dir)))
  (when (file-directory-p package-dir)
    (dolist (file (directory-files package-dir t "\\.el$" t))
      (load file))))
