Files
emacs-dotfiles/.config.d/05-basic.el

96 lines
2.7 KiB
EmacsLisp
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;;; 05-basic.el --- Setup some basics. -*- no-byte-compile: t; lexical-binding: t; -*-
;; Setup the font
(set-face-attribute 'default nil :height 140 :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
:config
(which-key-mode))
;; Pixel perfect scrolling
(pixel-scroll-precision-mode)
;; Display time
(display-time-mode)
(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))
(use-package reverse-im
:ensure t
:defer nil)
(setq reverse-im-char-fold t) ; use lax matching
(setq reverse-im-read-char-advice-function #'reverse-im-read-char-include)
(setq reverse-im-input-methods '("russian-computer")) ; translate these methods
(reverse-im-mode t)
(electric-indent-mode)
(electric-pair-mode)
(use-package modus-themes
:ensure t
:defer nil
:config
(load-theme 'modus-operandi-tinted 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
'("https://sachachua.com/blog/category/emacs-news/feed"
"https://planet.emacslife.com/atom.xml"))
:bind (("C-c f" . elfeed)))
;;; 05-basic.el ends here