;;; thanos-packages.el --- -*- lexical-binding: t; -*- ;; Copyright (C) 2023 Thanos Apollo ;; Author: Thanos Apollo ;; 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 . ;;; 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