summaryrefslogtreecommitdiffstats
path: root/.emacs.d/init.el
diff options
context:
space:
mode:
authorAmin Bandali <bandali@kelar.org>2025-02-10 15:05:56 -0500
committerAmin Bandali <bandali@kelar.org>2025-02-10 15:05:56 -0500
commit70026d07d0bef09468b93caabf9a1f425533a69a (patch)
treec5379ac39bff3fb3e818eba88844c136c7e1c239 /.emacs.d/init.el
parent99332da43b8324814ca6c1af7f0076f83c8ce233 (diff)
downloadconfigs-70026d07d0bef09468b93caabf9a1f425533a69a.tar.gz
configs-70026d07d0bef09468b93caabf9a1f425533a69a.tar.xz
configs-70026d07d0bef09468b93caabf9a1f425533a69a.zip
Drop use-package again
I prefer my own manual approach, use-package feels too magical and at times does too much for me.
Diffstat (limited to '')
-rw-r--r--.emacs.d/init.el61
1 files changed, 34 insertions, 27 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 59b1744..98d0cc9 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -24,31 +24,17 @@
;;; Code:
-;; whoami
-(setq
- user-full-name "Amin Bandali"
- user-mail-address "bandali@kelar.org")
-
-;;; Package management
+;;; Initial setup
(setq
- use-package-verbose init-file-debug
- use-package-expand-minimally (not init-file-debug)
- use-package-compute-statistics init-file-debug
debug-on-error init-file-debug
debug-on-quit init-file-debug)
-(require 'package)
-;; Install use-package on older Emascen if needed.
-(when (< emacs-major-version 29)
- (unless (package-installed-p 'use-package)
- (unless package-archive-contents
- (package-refresh-contents))
- (package-install 'use-package)))
-
-
-;;; Initial setup
+;; whoami
+(setq
+ user-full-name "Amin Bandali"
+ user-mail-address "bandali@kelar.org")
(eval-and-compile
(defsubst b/emacs.d (path)
@@ -116,13 +102,33 @@ plain variables. This means that `setopt' will execute any
(with-eval-after-load 'custom
(load custom-file 'noerror))
-;; Start Emacs server
+
+;;; Package management
+
+;; List of the packages I use from GNU ELPA and NonGNU ELPA.
+(setq
+ package-selected-packages
+ '(debbugs delight eat elpher))
+
+(require 'package)
+
+;; Add NonGNU ELPA on older Emacsen.
+(when (version< emacs-version "28")
+ (add-to-list
+ 'package-archives
+ '("nongnu" . "https://elpa.nongnu.org/nongnu/")))
+
+(package-install-selected-packages)
+
+
+;;; Emacs server
+
+;; Start Emacs server.
;; https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html
-(use-package server
- :defer 0.5
- :bind
- ("C-c F D" . server-edit)
- :config
+(run-with-idle-timer 0.5 nil #'require 'server)
+(with-eval-after-load 'server
+ (declare-function server-edit "server")
+ (b/keymap-global-set "C-c F D" #'server-edit)
(declare-function server-running-p "server")
(or (server-running-p) (server-mode)))
@@ -132,12 +138,13 @@ plain variables. This means that `setopt' will execute any
(add-to-list 'load-path (b/emacs.d "lisp"))
(require 'bandali-essentials)
+(require 'bandali-utils)
(require 'bandali-prog)
;; (require 'bandali-exwm)
(require 'bandali-eshell)
(require 'bandali-ibuffer)
(require 'bandali-dired)
-;;; Email with Gnus and message
+;; Email with Gnus and message
(require 'bandali-gnus)
(require 'bandali-message)
;; (with-eval-after-load 'sendmail
@@ -145,7 +152,7 @@ plain variables. This means that `setopt' will execute any
;; (with-eval-after-load 'smtpmail
;; (setopt smtpmail-queue-mail t
;; smtpmail-queue-dir (concat b/maildir "queue/")))
-;;; IRC with ERC
+;; IRC with ERC
(require 'bandali-erc)
(require 'bandali-misc)
(require 'bandali-po)