;; -*- 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

;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;; (package! some-package)

;; pywal for emacs
(package! ewal)

;; Pywal theme for doom
(package! ewal-doom-themes)

;; Pointer highlight
(package! beacon)

;; Weather in the agenda
;; (package! weather-metno) ;; Not working.. :(

;; Weather for the week in emacs
(package! wttrin)

;; Execute TUI from emacs
;; (package! eee
;;   :recipe (:host github :repo "eval-exec/eee.el"
;;            :files (:defaults "*.el" "*.sh")))

;; timezone calc
(package! tzc)

;; Undo tree
(package! vundo)

;; Undo highlight
(package! undo-hl
  :recipe (:host github :repo "casouri/undo-hl"
           :files (:defaults "*.el" "*.sh")))

(package! org-modern)

;; Auto latex edit
(package! org-fragtog)

;; latex preview
(package! cdlatex)

;; Better auto-save
(package! super-save)

;; Open-With behavior
(package! openwith)

;; Org-Superstart-mode
;; (package! org-superstar)

;; Drag-stuff with alt-jk
(package! drag-stuff)

(package! request)
;; Excalidraw for emacs
;; (package! org-excalidraw :recipe
;;           (:host github
;;                  :repo "wdavew/org-excalidraw"))

;; (package! org-ai)

;; Emacs AI
;; (package! ellama)

;; Emacs RAG
;; (package! elisa)

;; gptel for chat
(package! gptel :recipe (:nonrecursive t))

;; aidermacs for coding
;; (package! aidermacs)

(package! mcp)

(package! evil-escape)

(package! org-phscroll
  :recipe (:type git :host github :repo "misohena/phscroll" :protocol ssh))

(package! elpher)

;; Better odt exporter
(package! ox-odt
  :recipe
  (
   :host github
   :repo "kjambunathan/org-mode-ox-odt"
   :files ("lisp/ox-odt.el"
           "lisp/ox-ods.el"
           "lisp/odt.el"
           "etc"
           "docs"
           "contrib/odt/LibreOffice")))
(package! seq)
(package! peg)
(package! citeproc)

;; For lifeOS
(package! json-rpc)

;; (package! emigo :recipe
;;   (:host github
;;    :repo "MatthewZMD/emigo" :files (:defaults "*.py" "*.el")
;;    )
;;   )
;;   
(package! image-roll :recipe
  (:host github
   :repo "dalanicolai/image-roll.el"
   :protocol ssh))

(package! org-edna)

;; elgant dependencies bellow:
(package! org-ql)
(package! ts)
(package! s)
(package! dash)
(package! elgantt
  :recipe (:host github :repo "legalnonsense/elgantt"))

(package! age)

(package! ultra-scroll
  :recipe (:host github :repo "jdtsmith/ultra-scroll" :protocol ssh))

(package! passage
  :recipe (:host github :repo "anticomputer/passage.el" :protocol ssh))

;; Server is down, deactivated for now
;; (package! krl-mode
;;   :recipe (:host nil
;;            :repo "ssh://code.lazyworkhorse.net:2222/gortium/krl-mode.git"
;;            :files ("*.el")))

(package! auto-highlight-symbol)

(package! hledger-mode)

(package! all-the-icons)

(package! magit-gptcommit) 

;; To install a package directly from a remote git repo, you must specify a
;; ``: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)
