(add-to-list 'org-structure-template-alist '("al" . "src yml :tangle ~/.config/alacritty/alacritty.yml"))
(add-to-list 'org-structure-template-alist '("ipy" . "src python :tangle ~/.ipython/"))
(add-to-list 'org-structure-template-alist '("pi" . "src conf :tangle ~/.config/picom/picom.conf"))
- (add-to-list 'org-structure-template-alist '("git" . "src plain :tangle ~/.gitconfig")))
+ (add-to-list 'org-structure-template-alist '("git" . "src conf :tangle ~/.gitconfig"))
+ (add-to-list 'org-structure-template-alist '("du" . "src conf :tangle ~/.config/dunst/dunstrc")))
#+end_src
* Autocompletion
** Ivy
** Ivy-rich
#+begin_src emacs-lisp
(use-package ivy-rich
- :after ivy
+ :after (ivy counsel)
:config (ivy-rich-mode))
#+end_src
** Counsel
:straight (diff-hl :type git :host github :repo "dgutov/diff-hl")
:config (global-diff-hl-mode))
#+end_src
+* General text editing
** Indentation
Indent after every change.
#+begin_src emacs-lisp
(use-package aggressive-indent
:config (global-aggressive-indent-mode))
#+end_src
+** Spell checking
+Spell check in text mode, and in prog-mode comments.
+#+begin_src emacs-lisp
+ (dolist (hook '(text-mode-hook))
+ (add-hook hook (lambda () (flyspell-mode))))
+ (dolist (hook '(change-log-mode-hook log-edit-mode-hook))
+ (add-hook hook (lambda () (flyspell-mode -1))))
+ (add-hook 'prog-mode (lambda () (flyspell-prog mode)))
+#+end_src
+** Expand tabs to spaces
+#+begin_src emacs-lisp
+ (setq-default tab-width 2)
+#+end_src
+** Copy kill ring to clipboard
+#+begin_src emacs-lisp
+ (setq x-select-enable-clipboard t)
+ (defun copy-kill-ring-to-xorg ()
+ "Copy the current kill ring to the xorg clipboard."
+ (interactive)
+ (x-select-text (current-kill 0)))
+#+end_src
+** Browse kill ring
+#+begin_src emacs-lisp
+ (use-package browse-kill-ring)
+#+end_src
+** Save place
+Opens file where you left it.
+#+begin_src emacs-lisp
+ (save-place-mode)
+#+end_src
+** Writing mode
+Distraction free writing a la junegunn/goyo.
+#+begin_src emacs-lisp
+ (use-package olivetti
+ :config
+ (evil-leader/set-key "o" 'olivetti-mode))
+#+end_src
+** Abbreviations
+Abbreviate things!
+#+begin_src emacs-lisp
+ (setq abbrev-file-name "~/.emacs.d/abbrevs")
+ (setq save-abbrevs 'silent)
+ (setq-default abbrev-mode t)
+#+end_src
* Functions
** Easily convert splits
Converts splits from horizontal to vertical and vice versa. Lifted from EmacsWiki.
(substitute-key-definition 'kill-buffer 'kill-buffer-and-window global-map)
#+end_src
* Other settings
-** Save place
-Opens file where you left it.
-#+begin_src emacs-lisp
- (save-place-mode)
-#+end_src
** OpenSCAD
Render OpenSCAD files, and add a preview window.
(use-package scad-preview
:straight (scad-preview :type git :host github :repo "Armaanb/scad-preview"))
#+end_src
-** Writing mode
-Distraction free writing a la junegunn/goyo.
-#+begin_src emacs-lisp
- (use-package olivetti
- :config
- (evil-leader/set-key "o" 'olivetti-mode))
-#+end_src
** Control backup files
Stop backup files from spewing everywhere.
#+begin_src emacs-lisp
(setq backup-directory-alist `(("." . "~/.emacs.d/backups")))
#+end_src
-** Abbreviations
-Abbreviate things!
-#+begin_src emacs-lisp
- (setq abbrev-file-name "~/.emacs.d/abbrevs")
- (setq save-abbrevs 'silent)
- (setq-default abbrev-mode t)
-#+end_src
-** Expand tabs to spaces
-#+begin_src emacs-lisp
- (setq-default tab-width 2)
-#+end_src
** Make yes/no easier
#+begin_src emacs-lisp
(defalias 'yes-or-no-p 'y-or-n-p)
"0c" '0x0-upload-kill-ring
"0p" '0x0-upload-popup))
#+end_src
-** Copy kill ring to clipboard
-#+begin_src emacs-lisp
- (setq x-select-enable-clipboard t)
- (defun copy-kill-ring-to-xorg ()
- "Copy the current kill ring to the xorg clipboard."
- (interactive)
- (x-select-text (current-kill 0)))
-#+end_src
-** Browse kill ring
-#+begin_src emacs-lisp
- (use-package browse-kill-ring)
-#+end_src
* Tangles
** Spectrwm
*** General settings
[commit]
gpgsign = true
#+end_src
+** Dunst
+Lightweight notification daemon. Gruvbox colors, based on https://github.com/a-schaefers/i3-wm-gruvbox-theme/
+*** General
+#+begin_src conf :tangle ~/.config/dunst/dunstrc
+ [global]
+ font = "JetBrains Mono Medium Nerd Font 11"
+ allow_markup = yes
+ format = "<b>%s</b>\n%b"
+ sort = no
+ indicate_hidden = yes
+ alignment = center
+ bounce_freq = 0
+ show_age_threshold = 60
+ word_wrap = yes
+ ignore_newline = no
+ geometry = "400x5-20+20"
+ transparency = 0
+ idle_threshold = 120
+ monitor = 0
+ sticky_history = yes
+ line_height = 0
+ separator_height = 4
+ padding = 8
+ horizontal_padding = 8
+ max_icon_size = 32
+ separator_color = "#585858"
+ startup_notification = false
+#+end_src
+*** Modes
+#+begin_src conf :tangle ~/.config/dunst/dunstrc
+ [frame]
+ width = 4
+ color = "#585858"
+
+ [shortcuts]
+ close = mod4+c
+ close_all = mod4+shift+c
+ history = mod4+ctrl+c
+
+ [urgency_low]
+ background = "#282828"
+ foreground = "#ebdbb2"
+ highlight = "#ebdbb2"
+ timeout = 5
+
+ [urgency_normal]
+ background = "#282828"
+ foreground = "#ebdbb2"
+ highlight = "#ebdbb2"
+ timeout = 15
+
+ [urgency_critical]
+ background = "#282828"
+ foreground = "#cc241d"
+ highlight = "#ebdbb2"
+ timeout = 0
+#+end_src