Evie Litherland-Smith
f44c767eea
Contents of README.org have been split into org files in config/ directory Added init.el to simply loop over config files and call org-babel-load-file Add lots to .gitignore as this repo should now be cloned to .emacs.d (instead of .emacs as before)
208 lines
5.5 KiB
Org Mode
208 lines
5.5 KiB
Org Mode
#+title: UI Config
|
|
#+author: Evie Litherland-Smith
|
|
#+email: evie@xenia.me.uk
|
|
#+filetags: :emacs:config:org:
|
|
* UI
|
|
#+begin_src emacs-lisp
|
|
(setq use-dialog-box nil
|
|
truncate-lines nil
|
|
truncate-partial-width-windows nil)
|
|
|
|
(menu-bar-mode +1)
|
|
(global-prettify-symbols-mode +1)
|
|
(global-display-line-numbers-mode -1)
|
|
(tool-bar-mode -1)
|
|
|
|
(add-hook 'prog-mode-hook #'(lambda () (display-line-numbers-mode +1)))
|
|
|
|
(with-eval-after-load 'diminish
|
|
(diminish 'visual-line-mode))
|
|
(global-visual-line-mode +1)
|
|
|
|
(use-package which-key
|
|
:ensure t
|
|
:diminish
|
|
:config (which-key-mode +1))
|
|
|
|
(use-package page-break-lines
|
|
:ensure t
|
|
:diminish
|
|
:config (global-page-break-lines-mode +1))
|
|
|
|
;; add visual pulse when changing focus, like beacon but built-in
|
|
;; from from https://karthinks.com/software/batteries-included-with-emacs/
|
|
(defun pulse-line (&rest _)
|
|
"Pulse the current line."
|
|
(pulse-momentary-highlight-one-line (point)))
|
|
|
|
(dolist (command '(scroll-up-command
|
|
scroll-down-command
|
|
recenter-top-bottom
|
|
other-window))
|
|
(advice-add command :after #'pulse-line))
|
|
#+end_src
|
|
|
|
** Theme, font and nerd-icons
|
|
#+begin_src emacs-lisp
|
|
(add-to-list 'initial-frame-alist '(width . 120))
|
|
(add-to-list 'initial-frame-alist '(height . 80))
|
|
|
|
;; Theme
|
|
(use-package modus-themes
|
|
:ensure t
|
|
:custom
|
|
(modus-themes-disable-other-themes t)
|
|
(modus-themes-to-toggle '(modus-operandi-tinted modus-vivendi-tinted))
|
|
(modus-themes-bold-constructs t)
|
|
(modus-themes-italic-constructs t)
|
|
(modus-themes-org-blocks nil)
|
|
(modus-themes-completions '((matches . (extrabold underline))
|
|
(selection . (semibold italic))))
|
|
(modus-themes-headings '((1 . (1.4))
|
|
(2 . (1.3))
|
|
(3 . (1.2))
|
|
(agenda-date . (1.3))
|
|
(agenda-structure . (light 1.8))
|
|
(t . (1.1))))
|
|
:config
|
|
(modus-themes-load-theme 'modus-vivendi-tinted))
|
|
|
|
;; Nerd-Icons modes
|
|
(use-package nerd-icons
|
|
:ensure t
|
|
:diminish
|
|
:config (nerd-icons-set-font "Symbols Nerd Font Mono-12"))
|
|
|
|
(use-package nerd-icons-dired
|
|
:ensure t
|
|
:after nerd-icons
|
|
:diminish
|
|
:hook (dired-mode))
|
|
|
|
(use-package nerd-icons-ibuffer
|
|
:ensure t
|
|
:after nerd-icons
|
|
:diminish
|
|
:hook (ibuffer-mode))
|
|
|
|
(use-package nerd-icons-completion
|
|
:ensure t
|
|
:after nerd-icons
|
|
:diminish
|
|
:config (nerd-icons-completion-mode +1))
|
|
|
|
(use-package nerd-icons-corfu
|
|
:ensure t
|
|
:after (corfu nerd-icons)
|
|
:diminish
|
|
:config (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
|
|
|
(keymap-global-set "C-c i n" #'nerd-icons-insert)
|
|
#+end_src
|
|
|
|
*** Font ligatures
|
|
#+begin_src emacs-lisp
|
|
(use-package ligature
|
|
:ensure t
|
|
:diminish
|
|
:config
|
|
(ligature-set-ligatures
|
|
'(text-mode prog-mode org-mode)
|
|
'("<--" "<---" "<<-" "<-" "->" "->>" "-->" "--->"
|
|
"<==" "<===" "<<=" "<=" "=>" "=>>" "==>" "===>"
|
|
"<->" "<-->" "<--->" "<---->" "<=>" "<==>" "<===>" "<====>" "::" ":::"
|
|
"<~~" "</" "</>" "/>" "~~>" "==" "!=" "<>" "===" "!==" "!==="
|
|
"<:" ":=" "*=" "*+" "<*" "<*>" "*>" "<|" "<|>" "|>" "+*" "=*" "=:" ":>"
|
|
"/*" "*/" "+++" "<!--" "<!---"))
|
|
(global-ligature-mode +1))
|
|
#+end_src
|
|
** Window management
|
|
|
|
*** windmove
|
|
#+begin_src emacs-lisp
|
|
(use-package windmove
|
|
:ensure t
|
|
:demand
|
|
:diminish
|
|
:config (windmove-mode +1)
|
|
:bind (("C-c w k" . windmove-up)
|
|
("C-c w C-k" . windmove-display-up)
|
|
("C-c w K" . windmove-swap-states-up)
|
|
("C-c w j" . windmove-down)
|
|
("C-c w C-j" . windmove-display-down)
|
|
("C-c w J" . windmove-swap-states-down)
|
|
("C-c w h" . windmove-left)
|
|
("C-c w C-h" . windmove-display-left)
|
|
("C-c w H" . windmove-swap-states-left)
|
|
("C-c w l" . windmove-right)
|
|
("C-c w C-l" . windmove-display-right)
|
|
("C-c w L" . windmove-swap-states-right)))
|
|
#+end_src
|
|
|
|
|
|
*** winner
|
|
#+begin_src emacs-lisp
|
|
(use-package winner
|
|
:ensure t
|
|
:demand
|
|
:diminish
|
|
:bind (("C-c w u" . winner-undo)
|
|
("C-c w r" . winner-redo))
|
|
:config
|
|
(winner-mode))
|
|
#+end_src
|
|
|
|
*** ediff
|
|
#+begin_src emacs-lisp :tangle yes
|
|
(use-package ediff
|
|
:ensure t
|
|
:diminish
|
|
:bind (("C-c d f" . ediff-files)
|
|
("C-c d b" . ediff-buffers)
|
|
("C-c d 3 f" . ediff-files3)
|
|
("C-c d 3 b" . ediff-buffers3))
|
|
:custom
|
|
(ediff-window-setup-function #'ediff-setup-windows-plain))
|
|
#+end_src
|
|
** Notifications
|
|
#+begin_src emacs-lisp
|
|
(use-package alert
|
|
:ensure t
|
|
:diminish
|
|
:custom
|
|
(alert-default-style 'libnotify))
|
|
#+end_src
|
|
** Modeline
|
|
#+begin_src emacs-lisp
|
|
(line-number-mode -1)
|
|
(column-number-mode -1)
|
|
(size-indication-mode -1)
|
|
(display-battery-mode -1)
|
|
(display-time-mode -1)
|
|
|
|
(setq mode-line-compact 'long)
|
|
#+end_src
|
|
** Zone
|
|
#+begin_src emacs-lisp :tangle yes
|
|
(use-package zone
|
|
:ensure t
|
|
:diminish
|
|
:config (zone-when-idle (* 60 60 2))) ; 2 hours
|
|
#+end_src
|
|
|
|
** Git status in fringe
|
|
#+begin_src emacs-lisp
|
|
(use-package diff-hl
|
|
:ensure t
|
|
:diminish
|
|
:init
|
|
(add-hook 'magit-pre-refresh-hook #'diff-hl-magit-pre-refresh)
|
|
(add-hook 'magit-post-refresh-hook #'diff-hl-magit-post-refresh)
|
|
:config
|
|
(global-diff-hl-mode)
|
|
:custom
|
|
(diff-hl-disable-on-remote t)
|
|
(diff-hl-draw-borders nil))
|
|
#+end_src
|
|
|