dotfiles

A steaming hot pile of sh...ell scripts and configuration files.
git clone https://kaka.farm/~git/dotfiles
Log | Files | Refs

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)