2 files changed,
178 insertions(+),
0 deletions(-)
Author:
Smirnov Oleksandr
ss2316544@gmail.com
Committed at:
2022-09-02 11:00:10 +0300
Parent:
6f93292
jump to
| A | emacs.d/config.org |
| A | emacs.d/init.el |
A
emacs.d/config.org
··· 1 +* Emacs config 2 +** Mepal 3 +#+begin_src elisp 4 +(require 'package) 5 +(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) 6 +#+end_src 7 + 8 +*** selected packages 9 +The packages what I need/use in emacs 10 +#+begin_src elisp 11 +(setq package-list 12 + '(paredit 13 + magit 14 + cider 15 + clojure-mode 16 + mood-line 17 + one-themes 18 + emojify 19 + async 20 + ob-async 21 + ob-clojurescript 22 + org-babel-eval-in-repl 23 + eval-in-repl)) 24 + 25 +(package-initialize) 26 + 27 +;; fetch the list of packages available 28 +(unless package-archive-contents 29 + (package-refresh-contents)) 30 + 31 +;; install missing packages 32 +(dolist (package package-list) 33 + (unless (package-installed-p package) 34 + (package-install package))) 35 +#+end_src 36 + 37 +** Global settings 38 +*** Disable backups, atuosave, loads 39 +#+begin_src elisp 40 +(setq make-backup-files nil) ;; stop creating backup~ files 41 +(setq auto-save-default nil) ;; stop creating #autosave# files 42 +(setq create-lockfiles nil) ;; no lockfiles 43 +#+end_src 44 + 45 +*** good defaults 46 +#+begin_src elisp 47 +(set-frame-font "JetBrains Mono 14" nil t) 48 +(load-theme 'one-light t) 49 + 50 +(global-auto-revert-mode t) 51 +(tool-bar-mode 0) 52 +(scroll-bar-mode 0) 53 +(cua-mode 1) 54 + 55 +(setq-default 56 + ad-redefinition-action 'accept ; Silence warnings for redefinition 57 + auto-window-vscroll nil ; Lighten vertical scroll 58 + confirm-kill-emacs 'yes-or-no-p ; Confirm before exiting Emacs 59 + display-time-default-load-average nil ; Don't display load average 60 + display-time-mode 0 ; Display time in frames 61 + display-time-format "%H:%M" ; Format the time string 62 + fill-column 80 ; Set width for automatic line breaks 63 + scroll-bar-mode nil 64 + display-line-numbers-type nil 65 + help-window-select t ; Focus new help windows when opened 66 + indent-tabs-mode nil ; Stop using tabs to indent 67 + inhibit-startup-screen t ; Disable start-up screen 68 + initial-scratch-message "" ; Empty the initial *scratch* buffer 69 + left-margin-width 1 right-margin-width 1 ; Add left and right margins 70 + mouse-yank-at-point t ; Yank at point rather than pointer 71 + ns-use-srgb-colorspace nil ; Don't use sRGB colors 72 + select-enable-clipboard t ; Merge system's and Emacs' clipboard 73 + sentence-end-double-space nil ; End a sentence after a dot and a space 74 + show-trailing-whitespace nil ; Display trailing whitespaces 75 + split-height-threshold nil ; Disable vertical window splitting 76 + split-width-threshold 1 ; Disable horizontal window splitting 77 + tab-width 4 ; Set width for tabs 78 + uniquify-buffer-name-style 'forward ; Uniquify buffer names 79 + window-combination-resize t ; Resize windows proportionally 80 + x-stretch-cursor t ; Stretch cursor to the glyph width 81 + scroll-step 1 82 + scroll-conservatively 10000) 83 + 84 +(delete-selection-mode 1) ; Replace region when inserting text 85 +(display-time-mode 0) ; Enable time in the mode-line 86 +(fset 'yes-or-no-p 'y-or-n-p) ; Replace yes/no prompts with y/n 87 +(menu-bar-mode 0) ; Disable the menu bar 88 +(put 'downcase-region 'disabled nil) ; Enable downcase-region 89 +(put 'upcase-region 'disabled nil) ; Enable upcase-region 90 +(set-default-coding-systems 'utf-8) ; Default to utf-8 encoding 91 +(add-hook 'focus-out-hook #'garbage-collect) ; make Garbage faster 92 +#+end_src 93 + 94 +** Other setups 95 +*** org-mode 96 +#+begin_src elisp 97 +(require 'org) 98 +(add-to-list 'org-modules 'org-tempo) 99 +(setq org-startup-folded nil 100 + org-hide-emphasis-markers nil 101 + org-edit-src-content-indentation 0 102 + org-src-tab-acts-natively t 103 + org-src-fontify-natively t 104 + org-confirm-babel-evaluate nil 105 + org-support-shift-select 'always) 106 + 107 +(remove-hook 'org-cycle-hook 108 + 'org-optimize-window-after-visibility-change) 109 + 110 +(eval-after-load 'org 111 + (org-babel-do-load-languages 112 + 'org-babel-load-languages 113 + '((clojure . t) 114 + (clojurescript . t) 115 + (emacs-lisp . t) 116 + (shell . t)))) 117 +#+end_src 118 + 119 +*** Clojure 120 +REPL setup cuz editing clj is feeling best with it. 121 +#+begin_src elisp 122 +(setq nrepl-hide-special-buffers t 123 + cider-repl-clear-help-banner t 124 + cider-font-lock-dynamically nil 125 + cider-popup-stacktraces nil 126 + cider-repl-popup-stacktraces t 127 + cider-repl-use-pretty-printing t 128 + cider-repl-pop-to-buffer-on-connect t 129 + cider-repl-display-help-banner nil) 130 + 131 +;; Allow cider-repl to be cleared with shortcut 132 +(add-hook 'cider-repl-mode-hook 133 + '(lambda () (define-key cider-repl-mode-map (kbd "C-c M-b") 134 + 'cider-repl-clear-buffer))) 135 + 136 +(add-hook 'clojure-mode-hook #'cider-mode) 137 +(add-hook 'clojurescript-mode #'enable-paredit-mode) 138 + 139 +(add-hook 'cider-mode-hook (lambda () (show-paren-mode 1))) 140 +(add-hook 'cider-mode-hook #'eldoc-mode) 141 +(add-hook 'cider-mode-hook #'enable-paredit-mode) 142 +(add-hook 'cider-repl-mode-hook #'enable-paredit-mode) 143 +(add-hook 'cider-mode-hook #'imenu-add-menubar-index) 144 +#+end_src 145 + 146 +*** Paredit 147 +Enable ~paredit~ in ~org-mode~ code block 148 +#+begin_src elisp 149 +(defun my-paredit-in-code-block () 150 + (interactive) 151 + (when (derived-mode-p 'org-mode) 152 + (unless (window-minibuffer-p) 153 + (if (org-babel-when-in-src-block) 154 + (paredit-mode 1) 155 + (paredit-mode 0))))) 156 + 157 +(add-hook 'post-command-hook #'my-paredit-in-code-block) 158 +(define-key org-mode-map (kbd "M-s") 'org-babel-demarcate-block) 159 +(define-key org-mode-map (kbd "M-P") 'paredit-mode) 160 + 161 +(remove-hook 'org-cycle-hook 162 + 'org-optimize-window-after-visibility-change) 163 +#+end_src 164 + 165 +*** Status line 166 +#+begin_src elisp 167 +(mood-line-mode) 168 +#+end_src 169 + 170 +** Funcs 171 +*** Reload config 172 +#+begin_src elisp 173 +(defun reload-conf () 174 + (interactive) 175 + (load-file (expand-file-name "init.el" user-emacs-directory))) 176 +#+end_src
A
emacs.d/init.el
··· 1 +(org-babel-load-file 2 + (expand-file-name "config.org" user-emacs-directory))