init.el (6734B)
1 (setq gc-cons-threshold (* 1024 1024 1024)) 2 3 (setq read-process-output-max (string-to-number 4 (with-temp-buffer 5 (insert-file-contents "/proc/sys/fs/pipe-max-size") 6 (buffer-string)))) 7 8 (require 'server) 9 (unless (server-running-p) 10 (server-start)) 11 12 (require 'benchmark-init) 13 14 (load (locate-user-emacs-file "kakafarm-utils.el")) 15 (load (locate-user-emacs-file "local-stuff.el")) 16 17 '(setq package-archives '()) 18 (require 'use-package) 19 20 (mapcar (lambda (x) 21 (keymap-global-set x 'multi-vterm)) 22 (list "C-c m m" 23 "C-c m <RET>" 24 "C-c <RET> m" 25 "C-c <RET> <RET>")) 26 27 (use-package company 28 :defer t 29 :init 30 (add-hook 'after-init-hook 'global-company-mode)) 31 32 (use-package cus-edit 33 :config 34 ;; Use another file for the ``customize'' customisations. 35 (setq custom-file (locate-user-emacs-file "custom-variables.el")) 36 (load custom-file 'noerror 'nomessage)) 37 38 (use-package dictionary 39 :config 40 (setq dictionary-server "localhost")) 41 42 (use-package elfeed 43 :config 44 (load (locate-user-emacs-file "elfeed-feeds.el"))) 45 46 (use-package geiser 47 :after (scheme-mode) 48 :config 49 '((define-key 'geiser-mode-map) 50 (setq geiser-active-implementations '(guile)) 51 (global-unset-key "C-c C-a") 52 (unbind-key "C-c C-e" geiser-mode-map) 53 (unbind-key "C-c C-a" geiser-mode-map))) 54 55 (use-package greader 56 :commands (greader-mode) 57 :config 58 (add-hook 'greader-mode-hook 59 'kakafarm/sentence-end-double-nilify-for-read-only-buffers) 60 :hook ( 61 Info-mode 62 Man-mode 63 elfeed-show 64 elfeed-show-mode 65 elpher 66 eww-after-render 67 fundamental-mode 68 help-mode 69 lisp-mode 70 nov-mode 71 text-mode 72 w3m-mode 73 )) 74 75 (use-package icomplete 76 :config 77 ;; Display completions continuously in minibuffer. 78 (icomplete-mode 1)) 79 80 (use-package mastodon 81 :defer t 82 :init 83 (setq mastodon-active-user "kakafarm" 84 mastodon-instance-url "https://emacs.ch/")) 85 86 (use-package modus-themes 87 :defer t 88 :init 89 (setq modus-themes-mode-line '(borderless 90 accented 91 ;; 3d 92 padded 93 ;; moody 94 ) 95 modus-themes-region '(;;accented 96 bg-only 97 ;;no-extend 98 ) 99 modus-themes-paren-match '(bold 100 intense) 101 ;;modus-themes-syntax '(alt-syntax) 102 modus-themes-scale-headings t 103 modus-themes-org-blocks 'tinted-background) 104 (load-theme 'modus-vivendi) 105 '(load-theme 'wheatgrass)) 106 107 (use-package mule 108 :config 109 ;;; https://emacs.stackexchange.com/questions/34322/set-default-coding-system-utf-8 110 (set-language-environment "utf-8")) 111 112 '(use-package nano-tts 113 :hook (eww-after-render nov-mode Info-mode)) 114 115 (use-package nov 116 :mode ("\\.epub\\'" . nov-mode)) 117 118 (use-package org 119 :config 120 (org-babel-do-load-languages 121 'org-babel-load-languages 122 '((scheme . t) 123 (emacs-lisp . t)))) 124 125 (use-package org-roam 126 :custom (org-roam-directory "~/mine/roam/") 127 :bind (("C-c n l" . org-roam-buffer-toggle) 128 ("C-c n f" . org-roam-node-find) 129 ("C-c n i" . org-roam-node-insert)) 130 :config 131 ;;(org-roam-db-autosync-enable) 132 ;;(org-roam-db-autosync-mode) 133 ) 134 135 ;; XXX: Disabled. 136 '(use-package parinfer 137 :hook (emacs-lisp-mode 138 lisp-mode 139 scheme-mode)) 140 141 (use-package paredit 142 :hook (emacs-lisp-mode 143 lisp-mode 144 scheme-mode)) 145 146 (use-package paren 147 :config 148 (show-paren-mode)) 149 150 (use-package rainbow-delimiters 151 :config 152 (rainbow-delimiters-mode)) 153 154 (use-package recentf 155 :config 156 (recentf-mode 1) 157 :bind (("C-S-t" . recentf-open-files) 158 ("C-c t" . recentf-open-files) 159 ("C-c l" . dictionary-lookup-definition))) 160 161 (use-package undo-tree 162 :config 163 (global-undo-tree-mode 1) 164 (setq undo-tree-auto-save-history nil)) 165 166 (use-package scheme-mode 167 :mode "\\.\\(scm\\|sxml\\)\\'" 168 ;; :bind (:map scheme-mode-map 169 ;; ("C-c C-e" . arei-mode-map) 170 ;; ("C-c C-a" . arei)) 171 ) 172 173 (use-package simple 174 :config 175 (column-number-mode) 176 ;; Don't want tabs in any of my source files. 177 (setq-default indent-tabs-mode nil)) 178 179 (use-package window 180 :config 181 (advice-add 'recenter-top-bottom 182 :around 183 'kakafarm/recenter-top-bottom)) 184 185 (defun kakafarm/load-emacs-from-scratch-stuff () 186 "Emacs From Scratch 187 https://systemcrafters.net/emacs-from-scratch/ 188 https://www.youtube.com/playlist?list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ" 189 190 (setq visible-cursor t 191 visible-bell t) 192 193 ;; The Basics of Emacs Configuration 194 ;; https://systemcrafters.net/emacs-from-scratch/basics-of-emacs-configuration/ 195 ;; https://www.youtube.com/watch?v=OaF-N-FuGtc 196 (tool-bar-mode -1) 197 (scroll-bar-mode -1) 198 (menu-bar-mode -1) 199 ;; (global-display-line-numbers-mode 1) 200 (hl-line-mode 1) 201 (blink-cursor-mode 1) 202 203 ;;; https://systemcrafters.net/emacs-from-scratch/the-best-default-settings/ 204 ;;; https://www.youtube.com/watch?v=51eSeqcaikM 205 ;;(recentf-mode 1) 206 (setq history-length 25) 207 (savehist-mode 1) 208 (save-place-mode 1)) 209 (kakafarm/load-emacs-from-scratch-stuff) 210 211 212 (set-fontset-font t 'hebrew "Noto Sans Hebrew") 213 214 215 (progn 216 ;; Load org-roam stuff. 217 218 (setq kakafarm/org-roam-my-publish-time 0) 219 220 (setq org-publish-project-alist 221 `(("roam" 222 :base-directory "~/mine/roam/publish/" 223 :auto-sitemap t 224 :sitemap-function kakafarm/org-roam-sitemap 225 :sitemap-title "Roam Notes" 226 :publishing-function kakafarm/org-roam-publication-wrapper 227 :publishing-directory "~/mine/roam-export" 228 :section-number nil 229 :table-of-contents nil 230 :include ,(directory-files "~/mine/roam/publish/" t ".*.org$") 231 :html-head "<link rel=\"stylesheet\" href=\"/index.css\" type=\"text/css\">"))) 232 233 (setq org-roam-graph-link-builder 234 'kakafarm/org-roam-custom-link-builder) 235 236 (add-hook 'org-roam-graph-generation-hook 237 (lambda (dot svg) 238 (if (< (- (cadr (current-time)) 239 kakafarm/org-roam-project-publish-time) 240 5) 241 (progn 242 (copy-file svg 243 "~/mine/roam-export/sitemap.svg" 244 't) 245 (setq kakafarm/org-roam-project-publish-time 246 0)))))) 247 248 (setq gc-cons-threshold (* 200 1024 1024)) 249 (put 'narrow-to-region 'disabled nil)