summaryrefslogtreecommitdiff
path: root/.emacs.d/modules/thanos-packages.el
blob: d18bd293a34e5a833e85a858fcfd556fa9b3d35f (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
;;; thanos-packages.el ---                           -*- lexical-binding: t; -*-

;; Copyright (C) 2023  Thanos Apollo

;; Author: Thanos Apollo <[email protected]>
;; Keywords: 

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <https://www.gnu.org/licenses/>.

;;; Commentary:
;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮
;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯
;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮
;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫
;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃
;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯
;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃
;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯
;;; Code:

(require 'package)

;; Straight
(defvar bootstrap-version)
(let ((bootstrap-file
       (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
      (bootstrap-version 6))
  (unless (file-exists-p bootstrap-file)
    (with-current-buffer
        (url-retrieve-synchronously
         "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
         'silent 'inhibit-cookies)
      (goto-char (point-max))
      (eval-print-last-sexp)))
  (load bootstrap-file nil 'nomessage))

(setf straight-recipe-overrides
      '((doom-modeline :type git :host github :repo "seagle0128/doom-modeline")
	(elfeed :type git :host github :repo "skeeto/elfeed")
	(elfeed-goodies :type git :host github :repo "algernon/elfeed-goodies")
	(eshell-git-prompt :type git :host github :repo "xuchunyang/eshell-git-prompt")
	(eshell-syntax-highlighting :type git :host github :repo "akreisher/eshell-syntax-highlighting")
	(gptel :type git :host github :repo "karthink/gptel")
	(nerd-icons-completion :type git :host github :repo "rainstormstudio/nerd-icons-completion")
	(nerd-icons-dired :type git :host github :repo "rainstormstudio/nerd-icons-dired")
	(org-roam :type git :host github :repo "org-roam/org-roam")
	(sudo-edit :type git :host github :repo "nflath/sudo-edit")))

(straight-pull-all)


(add-to-list 'load-path "~/dotfiles/emacs.d/packages")

(defvar thanos/packages
        '(emms vertico marginalia doom-modeline org-roam nerd-icons-completion
	  consult org org-modern which-key elfeed elfeed-goodies 
	  visual-fill-column rainbow-delimiters eshell-git-prompt
	  json-mode ement magit corfu orderless consult pdf-tools
	  org-auto-tangle sly eat nov eshell-syntax-highlighting
	  yeetube telega transmission gptel nerd-icons-dired sudo-edit))

(setf package-archives '(("elpa" . "https://elpa.gnu.org/packages/")
			 ("nongnu" . "https://elpa.nongnu.org/nongnu/")))


;; Activate all the packages
(package-initialize)
(setf straight-use-package-by-default t)
;; Install the missing packages
(dolist (package thanos/packages)
  (unless (package-installed-p package)
    (straight-use-package package)))

;; Set and load custom.el
(setf custom-file (concat user-emacs-directory "custom.el"))
(load custom-file 'noerror)


(provide 'thanos-packages)
;;; thanos-packages.el ends here