The great config remake.

I decided to go back to the basics with this one. Only the packages I think
I *REALLY* need (or want) are left, the rest are replaced by the built-in
alternatives or even better, removed.
This commit is contained in:
2026-03-13 15:51:28 +09:00
parent 0f5a63df6d
commit 34b25f2352
9 changed files with 98 additions and 632 deletions

View File

@@ -1,103 +1,17 @@
;;; 05-basic.el --- Setup some basics. -*- no-byte-compile: t; lexical-binding: t; -*-
;; Setup the font
(set-face-attribute 'default nil :height 110 :font "Iosevka Nerd Font" :weight 'normal)
;; I use narrowing, I am a mature emacs user! I do not need the hand-holding
;; (usually).
(put 'narrow-to-region 'disabled nil)
;; This package provides which-key, which is a minor mode for Emacs
;; that displays the key bindings following your currently entered
;; incomplete command (a prefix) in a popup.
(use-package which-key
:ensure t
:diminish which-key-mode
:config
(which-key-mode))
;; Pixel perfect scrolling
(unless (version< emacs-version "29.0")
(pixel-scroll-precision-mode))
;; Display time
(display-time-mode)
(setq display-time-24hr-format t)
(show-paren-mode +1) ; Paren match highlighting
;; Winner mode is a global minor mode that records the changes in the
;; window configuration (i.e. how the frames are partitioned into
;; windows) so that the changes can be "undone" using the command
;; winner-undo.
(winner-mode 1)
;; Configure Emacs to ask for confirmation before exiting
(setq confirm-kill-emacs 'y-or-n-p)
;; This package provides a complete git integration
(use-package magit
:ensure t
:defer t
:commands (magit))
(electric-indent-mode)
(electric-pair-mode)
(use-package modus-themes
:ensure t
:defer nil
:config
(load-theme 'modus-operandi t))
(use-package hbdh
:straight (hbdh :type git :host github :repo "zzhjerry/hbdh-mode")
:config (hbdh-mode))
(defun my-hbdh-highlight-line ()
"Activate hbdh, dim text outside of current line"
(interactive)
(let ((point-beginning (line-beginning-position))
(point-end (line-end-position)))
;; note that those are internal functions
;; probably should use hbdh activation commands instead of this
(hbdh--activate-overlay point-beginning point-end)
(hbdh--rewrite-region-face)))
(setq hbdh-mode-map (make-sparse-keymap))
(define-key hbdh-mode-map "a" 'hbdh-activate-on-region)
(define-key hbdh-mode-map "d" 'hbdh-deactivate)
(define-key hbdh-mode-map "l" 'my-hbdh-highlight-line)
(global-set-key "\C-ch" hbdh-mode-map)
;; A must have for any NixOS user
(use-package direnv
:ensure t
:defer nil
:config (direnv-mode))
;; RSS reader
(use-package
elfeed
:ensure t
:defer t
:commands (elfeed)
:init (setq elfeed-feeds
'((http://feeds.nightvalepresents.com/welcometonightvalepodcast
nightvale)
("https://sachachua.com/blog/category/emacs-news/feed"
emacs)
("https://planet.emacslife.com/atom.xml"
emacs)
("https://kagi.com/smallweb/appreciated"
small-web)
("https://kagi.com/api/v1/smallweb/feed/?gh"
small-web)
("https://scour.ing/@DiToast/rss.xml"
scour)))
:bind (("C-c f" . elfeed)))
;; Setting this to true makes it so that Emacs saves existing clipboard text
;; into kill ring before replacing it.
(setq save-interprogram-paste-before-kill t)
@@ -147,4 +61,13 @@
(reverse-im-mode t)
;; Windmove family of commands allow easy navigation when there is more than two
;; buffers on screen. The bindings are the Vim movement commands with the
;; Control+Shift modifiers, adjusted for the workman layout and shifted a bit
;; down and to the left.
(keymap-global-set "C-S-k" #'windmove-left)
(keymap-global-set "C-S-l" #'windmove-down)
(keymap-global-set "C-<" #'windmove-up)
(keymap-global-set "C->" #'windmove-right)
;;; 05-basic.el ends here