summaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2024-04-30 21:00:03 -0400
committerKjetil Orbekk <kj@orbekk.com>2024-04-30 21:02:52 -0400
commitb9abc9025780b81713422c59206d0e30518646a6 (patch)
tree89b01e89dd9eb41a335e4de56652cb2d98eb7f2d /emacs
parent8096ebbc5c2b136d319ec5030658a0fce9a64677 (diff)
Combine some files and use outline
Diffstat (limited to 'emacs')
-rw-r--r--emacs/.config/emacs/emacs-custom.el8
-rw-r--r--emacs/.config/emacs/init.el155
-rw-r--r--emacs/.config/emacs/lisp/kj-development.el13
-rw-r--r--emacs/.config/emacs/lisp/kj-init.el145
4 files changed, 165 insertions, 156 deletions
diff --git a/emacs/.config/emacs/emacs-custom.el b/emacs/.config/emacs/emacs-custom.el
index df4c014..6ef1843 100644
--- a/emacs/.config/emacs/emacs-custom.el
+++ b/emacs/.config/emacs/emacs-custom.el
@@ -10,10 +10,10 @@
"88267200889975d801f6c667128301af0bc183f3450c4b86138bfb23e8a78fb1"
default))
'(safe-local-variable-values
- '((Package . CL-WHO) (Package . HUNCHENTOOT) (Base . 10)
- (Package . CL-USER) (Syntax . COMMON-LISP)
- (eval sly-connect "localhost" 9090) (sly-port . 9090)
- (checkdoc-package-keywords-flag))))
+ '((eval outline-hide-sublevels 2) (Package . CL-WHO)
+ (Package . HUNCHENTOOT) (Base . 10) (Package . CL-USER)
+ (Syntax . COMMON-LISP) (eval sly-connect "localhost" 9090)
+ (sly-port . 9090) (checkdoc-package-keywords-flag))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el
index d917257..6435562 100644
--- a/emacs/.config/emacs/init.el
+++ b/emacs/.config/emacs/init.el
@@ -1,5 +1,5 @@
;;; -*- lexical-binding: t; -*-
-
+;;;; Elpaca package setup
;; NixOS emacs doesn't include a build time. Assume a recent version.
(setq elpaca-core-date 20240101)
(setq elpaca-directory "~/.cache/emacs/elpaca")
@@ -13,8 +13,6 @@
(time-subtract after-init-time before-init-time)))
gcs-done)))
-(add-hook 'elpaca-after-init-hook 'kj/restore-file-name-handler-alist)
-
(elpaca elpaca-use-package
;; Enable :elpaca use-package keyword.
(elpaca-use-package-mode)
@@ -22,6 +20,7 @@
(setq elpaca-use-package-by-default t))
(elpaca-wait)
+;;;; GC and performance
(use-package gcmh
:hook
(elpaca-after-init . kj/enable-gcmh)
@@ -30,7 +29,142 @@
(message "Enabling gcmh")
(gcmh-mode 1)))
-;; Include user configuration.
+(setopt inhibit-compacting-font-caches t)
+(add-hook 'elpaca-after-init-hook 'kj/restore-file-name-handler-alist)
+
+;;;; Basic settings and customizations
+(defvar kj/cache-dir "~/.cache/emacs")
+
+(setopt user-full-name "KJ Orbekk"
+ user-mail-address "kj@orbekk.com"
+
+ initial-scratch-message nil
+
+ switch-to-buffer-obey-display-actions t
+ switch-to-buffer-in-dedicated-window 'pop
+ even-window-sizes 'width-only
+ custom-file (expand-file-name "emacs-custom.el" user-emacs-directory)
+ bookmark-file (expand-file-name "boomarks" kj/cache-dir)
+ use-short-answers t
+ outline-minor-mode-cycle t
+ fast-but-imprecise-scrolling t
+ visible-bell t
+ auto-save-list-file-prefix (expand-file-name
+ "auto-save-list/.saves-" kj/cache-dir)
+ alert-default-style 'libnotify
+
+ use-dialog-box nil
+ display-time-24hr-format t)
+
+(load custom-file :noerror t)
+(global-hl-line-mode 1)
+(global-auto-revert-mode 1)
+
+;;;; Appearance
+
+(use-package emacs
+ :elpaca nil
+ :init
+ (setq-default show-trailing-whitespace t)
+ (dolist (mode '(calendar-mode-hook
+ eshell-mode-hook
+ term-mode-hook
+ comint-mode-hook
+ completion-list-mode))
+ (add-hook mode
+ (defun kj/disable-trailing-whitespace ()
+ (setq show-trailing-whitespace nil)))))
+
+(use-package ws-butler
+ :hook (prog-mode . ws-butler-mode))
+
+(use-package all-the-icons
+ :if (display-graphic-p))
+
+(use-package emojify
+ :bind
+ (("C-c C-i C-e" . emojify-insert-emoji))
+ :hook (after-init . global-emojify-mode)
+ :config
+ (emojify-set-emoji-styles '(unicode)))
+
+;;;;; Mode line
+(use-package emacs
+ :elpaca nil
+ :defer 5
+ :init
+ (require 'battery)
+ (when (and battery-status-function
+ (not (string-match-p "unknown"
+ (battery-format "%B"
+ (funcall battery-status-function)))))
+ (display-battery-mode 1)))
+(setopt display-time-default-load-average nil)
+
+(display-time-mode 1)
+
+(use-package doom-modeline
+ :ensure t
+ :disabled
+ :init (doom-modeline-mode 1)
+ :config
+ (setq doom-modeline-buffer-encoding 'nondefault))
+
+(use-package emacs
+ :elpaca nil
+ :defer 1
+ :init
+ (defvar kj/minor-mode-alist-overrides
+ '((ws-butler "")
+ (gcmh-mode "")
+ (editorconfig-mode "")
+ (yas-minor-mode "")
+ (selected-minor-mode "")
+ (anzu-mode "")
+ (projectile-mode "")
+ (eldoc-mode "")
+ (mixed-pitch-mode "")
+ (which-key-mode "")))
+ (defun kj/clean-mode-line ()
+ (dolist (override kj/minor-mode-alist-overrides)
+ (if-let ((e (assoc (car override) minor-mode-alist)))
+ (setf (nth 1 e) (nth 1 override)))))
+ (add-to-list 'change-major-mode-hook 'kj/clean-mode-line))
+
+
+;;;;; Theme
+
+(use-package wombat-theme :elpaca nil
+ :disabled
+ :init
+ (load-theme 'wombat)
+ :config
+ (custom-theme-set-faces
+ 'wombat
+ '(default ((t :background "#111111")))
+ '(ansi-color-black ((t :background "#000000")))
+ '(hl-line ((t :inherit () :background "#242424")))))
+
+(use-package modus-themes
+ :init
+ :disabled
+ (load-theme 'modus-operandi-tinted)
+ (load-theme 'modus-vivendi-tinted t t)
+ :config
+ (custom-theme-set-faces
+ 'modus-vivendi-tinted
+ '(avy-lead-face ((t :inherit (bold modus-themes-subtle-blue))))
+ '(avy-lead-face-0 ((t :inherit (bold modus-themes-subtle-cyan))))
+ '(avy-lead-face-1 ((t :inherit (bold modus-themes-subtle-green))))
+ '(avy-lead-face-2 ((t :inherit (bold modus-themes-subtle-magenta))))))
+
+(use-package emacs :elpaca nil
+ :init
+ (load-theme 'deeper-blue))
+
+(use-package doom-themes)
+
+;;;; Include modules in lisp/
(defvar kj/module-directory (expand-file-name "lisp" user-emacs-directory))
(push kj/module-directory load-path)
(require 'kj-lib)
@@ -38,5 +172,18 @@
(cl-loop for path in (directory-files kj/module-directory)
if (string-match "\\([^/]*\\).el" path)
do (require (intern (match-string-no-properties 1 path))))
+
+;;;; Enable commands
+(put 'narrow-to-region 'disabled nil)
+(put 'downcase-region 'disabled nil)
+(put 'upcase-region 'disabled nil)
+(put 'list-timers 'disabled nil)
(put 'set-goal-column 'disabled nil)
(put 'scroll-left 'disabled nil)
+
+;;;; Local variables
+;; Local Variables:
+;; eval: (outline-minor-mode 1)
+;; eval: (outline-hide-sublevels 2)
+;; outline-regexp: ";;;;*"
+;; End:
diff --git a/emacs/.config/emacs/lisp/kj-development.el b/emacs/.config/emacs/lisp/kj-development.el
index da0d328..2f31672 100644
--- a/emacs/.config/emacs/lisp/kj-development.el
+++ b/emacs/.config/emacs/lisp/kj-development.el
@@ -134,19 +134,18 @@
;; :custom
;; (inferior-lisp-program "sbcl"))
-(use-package slime
- :custom
- (inferior-lisp-program "sbcl")
- :config
+(use-package emacs :elpaca nil
+ :defer 1
+ :after consult
+ :init
+ (load (expand-file-name "~/.cache/quicklisp/slime-helper.el"))
+ (setopt inferior-lisp-program "sbcl")
(defvar kj/slime-history-ring nil)
(defvar kj/slime-history-index nil)
(add-to-list 'consult-mode-histories
'(slime-repl-mode slime-repl-input-history
slime-repl-input-history-position
beginning-of-line))
- (load (expand-file-name "~/.cache/quicklisp/slime-helper.el"))
- ;; Replace "sbcl" with the path to your implementation
- (setq inferior-lisp-program "sbcl")
(slime-setup '(slime-fancy slime-asdf)))
(use-package exercism)
diff --git a/emacs/.config/emacs/lisp/kj-init.el b/emacs/.config/emacs/lisp/kj-init.el
index 837bdf9..40dee7d 100644
--- a/emacs/.config/emacs/lisp/kj-init.el
+++ b/emacs/.config/emacs/lisp/kj-init.el
@@ -1,140 +1,5 @@
;;; -*- lexical-binding: t; -*-
-(setq user-full-name "KJ Orbekk"
- user-mail-address "kj@orbekk.com")
-
-(defvar kj/cache-dir "~/.cache/emacs")
-
-(setq initial-scratch-message nil)
-
-(setq switch-to-buffer-obey-display-actions t)
-(setq switch-to-buffer-in-dedicated-window 'pop)
-(setq even-window-sizes 'width-only)
-
-(setq custom-file (expand-file-name "emacs-custom.el" user-emacs-directory))
-(load custom-file :noerror t)
-
-(setq bookmark-file (expand-file-name "boomarks" kj/cache-dir))
-
-(setq fast-but-imprecise-scrolling t)
-
-(setq use-short-answers t)
-
-(global-hl-line-mode 1)
-(global-auto-revert-mode 1)
-
-(setq outline-minor-mode-cycle t
- outline-minor-mode-highlight 'override)
-
-(setq visible-bell t
- ring-bell-function 'ignore)
-
-(setq auto-save-list-file-prefix (expand-file-name "auto-save-list/.saves-" kj/cache-dir))
-
-(use-package wombat-theme :elpaca nil
- :disabled
- :init
- (load-theme 'wombat)
- :config
- (custom-theme-set-faces
- 'wombat
- '(default ((t :background "#111111")))
- '(ansi-color-black ((t :background "#000000")))
- '(hl-line ((t :inherit () :background "#242424")))))
-
-(use-package modus-themes
- :init
- :disabled
- (load-theme 'modus-operandi-tinted)
- (load-theme 'modus-vivendi-tinted t t)
- :config
- (custom-theme-set-faces
- 'modus-vivendi-tinted
- '(avy-lead-face ((t :inherit (bold modus-themes-subtle-blue))))
- '(avy-lead-face-0 ((t :inherit (bold modus-themes-subtle-cyan))))
- '(avy-lead-face-1 ((t :inherit (bold modus-themes-subtle-green))))
- '(avy-lead-face-2 ((t :inherit (bold modus-themes-subtle-magenta))))))
-
-(use-package deeper-blue :elpaca nil
- :init
- (load-theme 'deeper-blue))
-
-(use-package doom-themes)
-
-(setq alert-default-style 'libnotify)
-
-(use-package all-the-icons
- :if (display-graphic-p))
-(setq inhibit-compacting-font-caches t)
-(setq use-dialog-box nil)
-(setq display-time-24hr-format t)
-
-(use-package emacs
- :elpaca nil
- :defer 5
- :init
- (require 'battery)
- (when (and battery-status-function
- (not (string-match-p "unknown"
- (battery-format "%B"
- (funcall battery-status-function)))))
- (display-battery-mode 1)))
-(setopt display-time-default-load-average nil)
-
-(display-time-mode 1)
-
-(use-package doom-modeline
- :ensure t
- :disabled
- :init (doom-modeline-mode 1)
- :config
- (setq doom-modeline-buffer-encoding 'nondefault))
-
-(use-package emacs
- :elpaca nil
- :defer 1
- :init
- (defvar kj/minor-mode-alist-overrides
- '((ws-butler "")
- (gcmh-mode "")
- (editorconfig-mode "")
- (yas-minor-mode "")
- (selected-minor-mode "")
- (anzu-mode "")
- (projectile-mode "")
- (eldoc-mode "")
- (mixed-pitch-mode "")
- (ws-butler-mode "")
- (which-key-mode "")))
- (defun kj/clean-mode-line ()
- (interactive)
- (dolist (override kj/minor-mode-alist-overrides)
- (if-let ((e (assoc (car override) minor-mode-alist)))
- (setf (nth 1 e) (nth 1 override)))))
- (add-to-list 'change-major-mode-hook 'kj/clean-mode-line))
-
-(use-package emojify
- :bind
- (("C-c C-i C-e" . emojify-insert-emoji))
- :hook (after-init . global-emojify-mode)
- :config
- (emojify-set-emoji-styles '(unicode)))
-
-(setq-default show-trailing-whitespace t)
-(dolist (mode '(calendar-mode-hook
- eshell-mode-hook
- term-mode-hook
- comint-mode-hook
- completion-list-mode))
- (add-hook mode
- (defun kj/disable-trailing-whitespace ()
- (setq show-trailing-whitespace nil))))
-
-;; Deletes trailing whitespace on changed lines only.
-(use-package ws-butler
- :diminish ws-butler-mode
- :hook (prog-mode . ws-butler-mode))
-
;; `M-x shell` settings
(setq shell-prompt-pattern "^[^#$%>\n]*[#$%>❯] *"
explicit-shell-file-name "zsh"
@@ -1055,10 +920,8 @@
(gethash 'name (car (gethash 'artists track)))
(gethash 'name track))))))))))
-;; Enabled commands
-(put 'narrow-to-region 'disabled nil)
-(put 'downcase-region 'disabled nil)
-(put 'upcase-region 'disabled nil)
-(put 'list-timers 'disabled nil)
-
(provide 'kj-init)
+
+;; Local Variables:
+;; eval: (outline-minor-mode 1)
+;; End: