~init variables -> use-package declarations for +speed
This commit is contained in:
@@ -23,37 +23,61 @@ including encryption.
|
|||||||
Setup backup files at =user-emacs-directory/saves=, auto-revert mode
|
Setup backup files at =user-emacs-directory/saves=, auto-revert mode
|
||||||
for everything and save my place in a file if possible
|
for everything and save my place in a file if possible
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq backup-directory-alist `(("." . "~/.config/emacs/saves")))
|
(use-package files
|
||||||
(global-auto-revert-mode 1)
|
:straight nil
|
||||||
(setq global-auto-revert-non-file-buffers nil
|
:init
|
||||||
|
(setq backup-directory-alist `(("." . "~/.config/emacs/saves"))))
|
||||||
|
|
||||||
|
(use-package autorevert
|
||||||
|
:straight nil
|
||||||
|
:init
|
||||||
|
(setq global-auto-revert-non-file-buffers nil
|
||||||
auto-revert-verbose nil)
|
auto-revert-verbose nil)
|
||||||
|
:config
|
||||||
|
(global-auto-revert-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
** All yes or no questions to y or n
|
** All yes or no questions to y or n
|
||||||
Sets yes or no questions to single letter responses.
|
Sets yes or no questions to single letter responses.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(fset 'yes-or-no-p 'y-or-n-p)
|
(use-package subr
|
||||||
|
:straight nil
|
||||||
|
:config
|
||||||
|
(fset 'yes-or-no-p 'y-or-n-p))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Hs Minor mode
|
** Hs Minor mode
|
||||||
Turn on hs minor mode for all prog-mode.
|
Turn on hs minor mode for all prog-mode.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(add-hook 'prog-mode-hook #'hs-minor-mode)
|
(use-package hideshow
|
||||||
|
:straight nil
|
||||||
|
:hook (prog-mode-hook . hs-minor-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Themes
|
** Themes
|
||||||
Load my custom "Grayscale" theme (look at [[file:Grayscale-theme.el][this file]]).
|
Load my custom "Grayscale" theme (look at [[file:Grayscale-theme.el][this file]]).
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(load-theme 'Grayscale t)
|
(use-package custom
|
||||||
|
:straight nil
|
||||||
|
:config
|
||||||
|
(load-theme 'Grayscale t))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Turn off startup buffer and turn off bells
|
** Font size
|
||||||
|
Set font size to 125 if no monitor is plugged in.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq inhibit-startup-screen t
|
(use-package faces
|
||||||
ring-bell-function 'ignore)
|
:straight nil
|
||||||
|
:config
|
||||||
|
(set-face-attribute 'default nil :height 115))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Setup scratch buffer
|
** Turn off startup buffer, setup scratch buffer
|
||||||
Write into the scratch buffer some nice information about Emacs.
|
Turn off the startup buffer because I don't particularly care for it,
|
||||||
|
and write into the scratch buffer some nice information about Emacs.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq initial-scratch-message
|
(use-package startup
|
||||||
(format ";; Emacs v%s\n;; Entered emacs in %s"
|
:straight nil
|
||||||
emacs-version (emacs-init-time)))
|
:init
|
||||||
|
(setq inhibit-startup-screen t
|
||||||
|
ring-bell-function 'ignore
|
||||||
|
initial-scratch-message (format ";; Emacs v%s\n;; Entered emacs in %s\n"
|
||||||
|
emacs-version (emacs-init-time))))
|
||||||
#+end_src
|
#+end_src
|
||||||
* Emacs Mode-line
|
* Emacs Mode-line
|
||||||
Firstly, declare a variable for the separator between each module
|
Firstly, declare a variable for the separator between each module
|
||||||
@@ -126,8 +150,8 @@ The logic is pretty simple:
|
|||||||
- Return to previous location
|
- Return to previous location
|
||||||
- Enter normal state
|
- Enter normal state
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(with-eval-after-load "evil"
|
(with-eval-after-load "evil"
|
||||||
(defun dx:newline (&optional BACKWARD)
|
(defun dx:newline (&optional BACKWARD)
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((old (point)))
|
(let ((old (point)))
|
||||||
@@ -135,28 +159,34 @@ The logic is pretty simple:
|
|||||||
(t (evil-open-above 1)))
|
(t (evil-open-above 1)))
|
||||||
(goto-char (+ old 1))
|
(goto-char (+ old 1))
|
||||||
(evil-normal-state))))
|
(evil-normal-state))))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Toggle buffer
|
** Toggle buffer
|
||||||
For some buffer with name =buf-name= with a creation function
|
For some buffer with name =buf-name= with a creation function
|
||||||
=buf-create=, toggle it via this function.
|
=buf-create=, toggle it via this function.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun +dx/toggle-buffer (buf-name buf-create)
|
(use-package window
|
||||||
|
:straight nil
|
||||||
|
:config
|
||||||
|
(defmacro +dx/create-toggle-function (func-name buf-name buf-create)
|
||||||
|
"Generate a function named func-name that toggles
|
||||||
|
the buffer with name buf-name and creation function buf-create."
|
||||||
|
`(defun ,func-name ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(let* ((buffer (or (get-buffer buf-name) (funcall buf-create)))
|
(let* ((buffer (or (get-buffer ,buf-name) (funcall ,buf-create)))
|
||||||
(displayed (get-buffer-window buffer))) ; Get window when displayed, nil otherwise
|
(displayed (get-buffer-window buffer))) ; Get window when displayed, nil otherwise
|
||||||
(cond (displayed ; already displayed thus delete
|
(cond (displayed ; already displayed thus delete
|
||||||
(select-window displayed)
|
(select-window displayed)
|
||||||
(delete-window))
|
(delete-window))
|
||||||
(t ; not displayed thus show and select
|
(t ; not displayed thus show and select
|
||||||
(display-buffer buffer)
|
(display-buffer buffer)
|
||||||
(select-window (get-buffer-window buffer))))))
|
(select-window (get-buffer-window buffer))))))))
|
||||||
#+end_src
|
#+end_src
|
||||||
* General
|
|
||||||
Setup general, a good package for defining keys. In this case, I
|
Setup general, a good package for defining keys. In this case, I
|
||||||
generate a new definer for the "LEADER" keys. Leader is bound to SPC
|
generate a new definer for the "LEADER" keys. Leader is bound to SPC
|
||||||
and it's functionally equivalent the doom/spacemacs leader.
|
and it's functionally equivalent the doom/spacemacs leader.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package general
|
(use-package general
|
||||||
|
:demand t
|
||||||
:config
|
:config
|
||||||
(general-def 'normal global-map "SPC" nil)
|
(general-def 'normal global-map "SPC" nil)
|
||||||
(general-def 'normal global-map
|
(general-def 'normal global-map
|
||||||
|
|||||||
Reference in New Issue
Block a user