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))