all repos

dotfiles @ 6f27c7f

i use rach linux btw
2 files changed, 178 insertions(+), 0 deletions(-)
add emacs config
Author: Smirnov Oleksandr ss2316544@gmail.com
Committed at: 2022-09-02 11:00:10 +0300
Parent: 6f93292
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))