minimaler
This commit is contained in:
parent
07345e54b1
commit
60a5bd80b7
1 changed files with 63 additions and 145 deletions
208
emacs/init.el
208
emacs/init.el
|
@ -1,91 +1,63 @@
|
|||
;;; init.el --- Tavo's emacs config
|
||||
;;; Commentary:
|
||||
;;; Prerequisites:
|
||||
;;; mkdir -p ~/.config/emacs/elpa/gnupg
|
||||
;;; gpg --homedir ~/.config/emacs/elpa/gnupg --keyserver hkp://keyserver.ubuntu.com --recv-keys 645357D2883A0966
|
||||
;;; mkdir -p "~/.local/share/emacs/backup"
|
||||
;;; mkdir -p "~/.local/share/emacs/lock"
|
||||
;;; find ~/.config/emacs/elpa/gnupg -type d -exec chmod 700 {} \;
|
||||
;;; find ~/.config/emacs/elpa/gnupg -type f -exec chmod 600 {} \;
|
||||
;;; mkdir -p ~/.local/share/emacs/backup
|
||||
;;; mkdir -p ~/.local/share/emacs/lock
|
||||
;;; After:
|
||||
;;; M-x package-install RET nerd-icons
|
||||
;;; M-x package-install RET all-the-icons
|
||||
;;; M-x nerd-icons-install-fonts
|
||||
;;; M-x all-the-icons-install-fonts
|
||||
;;; Code:
|
||||
|
||||
;; Preferences
|
||||
(setq scroll-step 1 scroll-conservatively 10000)
|
||||
(scroll-bar-mode 0)
|
||||
(menu-bar-mode 0)
|
||||
(tool-bar-mode 0)
|
||||
(scroll-bar-mode 0)
|
||||
(global-display-line-numbers-mode 1)
|
||||
(setq-default display-line-numbers-width 3)
|
||||
(global-hl-line-mode 1)
|
||||
(set-face-attribute 'default nil
|
||||
:font "JetBrains Mono"
|
||||
:weight 'normal)
|
||||
(set-face-attribute 'fixed-pitch nil
|
||||
:font "JetBrains Mono"
|
||||
:weight 'normal)
|
||||
(set-face-attribute 'font-lock-comment-face nil
|
||||
:slant 'italic)
|
||||
(add-to-list 'default-frame-alist '(font . "JetBrains Mono-10"))
|
||||
(setq scroll-step 1
|
||||
scroll-conservatively 10000)
|
||||
(delete-selection-mode 1)
|
||||
(electric-indent-mode -1)
|
||||
(electric-indent-mode 0)
|
||||
(global-hl-line-mode 1)
|
||||
(electric-pair-mode 1)
|
||||
(column-number-mode)
|
||||
(setq backup-directory-alist '((".*" . "~/.local/share/emacs/backup")))
|
||||
(setq temporary-file-directory "~/.local/share/emacs/lock")
|
||||
(dolist (mode '(org-mode-hook term-mode-hook shell-mode-hook eshell-mode-hook))
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
|
||||
;; Package manager
|
||||
(require 'package)
|
||||
(setq package-archives
|
||||
'(("melpa" . "https://melpa.org/packages/")
|
||||
("elpa" . "https://elpa.gnu.org/packages/")))
|
||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")))
|
||||
(package-initialize)
|
||||
(unless package-archive-contents
|
||||
(package-refresh-contents))
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package))
|
||||
(eval-when-compile (require 'use-package))
|
||||
(require 'use-package)
|
||||
(setq use-package-always-ensure t)
|
||||
|
||||
;; Packages
|
||||
(dolist (pkg '(evil evil-collection all-the-icons nerd-icons all-the-icons-dired
|
||||
flycheck projectile markdown-mode markdown-preview-mode
|
||||
company company-box general neotree highlight-indent-guides
|
||||
paren doom-themes doom-modeline org-bullets))
|
||||
(dolist (pkg '(all-the-icons nerd-icons markdown-mode markdown-preview-mode))
|
||||
(unless (package-installed-p pkg)
|
||||
(package-install pkg)))
|
||||
|
||||
;; evil
|
||||
(use-package evil
|
||||
:demand t
|
||||
:bind (("<escape>" . keyboard-escape-quit))
|
||||
:init
|
||||
(setq evil-want-integration t
|
||||
evil-want-keybinding nil
|
||||
evil-vsplit-window-right t
|
||||
evil-split-window-below t
|
||||
evil-undo-system 'undo-redo)
|
||||
(evil-mode))
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
:config
|
||||
(add-to-list 'evil-collection-mode-list 'help)
|
||||
(evil-collection-init))
|
||||
|
||||
;; Theming
|
||||
(use-package page-break-lines
|
||||
:ensure t
|
||||
:demand t)
|
||||
|
||||
(set-face-attribute 'default nil :font "JetBrains Mono")
|
||||
(add-to-list 'default-frame-alist '(font . "JetBrains Mono-10"))
|
||||
(use-package doom-themes
|
||||
:config
|
||||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t)
|
||||
(load-theme 'doom-material t))
|
||||
(use-package all-the-icons
|
||||
:ensure t
|
||||
:if (display-graphic-p))
|
||||
(use-package all-the-icons-dired
|
||||
:hook (dired-mode . (lambda () (all-the-icons-dired-mode t))))
|
||||
:init (load-theme 'doom-material t))
|
||||
|
||||
(use-package paren :ensure nil
|
||||
:init (setq show-paren-delay 0)
|
||||
:config (show-paren-mode +1))
|
||||
|
||||
(use-package dashboard
|
||||
:ensure t
|
||||
:after page-break-lines
|
||||
:init
|
||||
(setq dashboard-set-heading-icons t)
|
||||
(setq dashboard-set-file-icons t)
|
||||
|
@ -93,103 +65,31 @@
|
|||
(setq dashboard-vertically-center-content t)
|
||||
(setq dashboard-startupify-list '(dashboard-insert-banner
|
||||
dashboard-insert-banner-title
|
||||
dashboard-insert-newline
|
||||
dashboard-insert-items
|
||||
dashboard-insert-newline))
|
||||
(setq dashboard-projects-backend 'projectile)
|
||||
dashboard-insert-items))
|
||||
(setq dashboard-startup-banner "~/.config/emacs/banner.txt")
|
||||
(setq dashboard-banner-logo-title "✨ M'illumino d'immenso ✨")
|
||||
(setq dashboard-items '((projects . 5)
|
||||
(recents . 5)))
|
||||
:custom
|
||||
(dashboard-page-separator "\n\f\n")
|
||||
(setq dashboard-items '((recents . 5)))
|
||||
:config
|
||||
(dashboard-setup-startup-hook))
|
||||
(setq initial-buffer-choice (lambda () (get-buffer-create dashboard-buffer-name)))
|
||||
(add-hook 'prog-mode-hook 'highlight-indent-guides-mode)
|
||||
(setq highlight-indent-guides-method 'character)
|
||||
(setq highlight-indent-guides-character ?⎸)
|
||||
(use-package paren
|
||||
:ensure nil
|
||||
:init (setq show-paren-delay 0)
|
||||
:config (show-paren-mode +1))
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1)
|
||||
|
||||
(use-package evil
|
||||
:init
|
||||
(setq evil-want-integration t
|
||||
evil-want-keybinding nil
|
||||
evil-vsplit-window-right t
|
||||
evil-split-window-below t)
|
||||
:config
|
||||
;; M-x nerd-icons-install-fonts
|
||||
(setq doom-modeline-height 35
|
||||
doom-modeline-bar-width 5
|
||||
doom-modeline-persp-name t
|
||||
doom-modeline-persp-icon t))
|
||||
|
||||
;; Keybinds
|
||||
(global-set-key (kbd "C-<tab>") 'next-buffer)
|
||||
(global-set-key (kbd "C-c") 'kill-this-buffer)
|
||||
(global-set-key (kbd "C-=") 'text-scale-increase)
|
||||
(global-set-key (kbd "C-+") 'text-scale-increase)
|
||||
(global-set-key (kbd "C--") 'text-scale-decrease)
|
||||
|
||||
(use-package general
|
||||
(evil-mode 1))
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
:config
|
||||
(general-evil-setup)
|
||||
|
||||
(general-create-definer tavo/leader-keys
|
||||
:states '(normal insert visual emacs)
|
||||
:keymaps 'override
|
||||
:prefix "SPC"
|
||||
:global-prefix "M-SPC")
|
||||
|
||||
(tavo/leader-keys
|
||||
"c" '(comment-line :wk "Comment lines")
|
||||
"p" 'org-latex-preview))
|
||||
|
||||
;; Extra
|
||||
(use-package company
|
||||
:defer 2
|
||||
:diminish
|
||||
:custom
|
||||
(company-begin-commands '(self-insert-command))
|
||||
(company-idle-delay .1)
|
||||
(company-minimum-prefix-length 2)
|
||||
(company-show-numbers t)
|
||||
(company-tooltip-align-annotations 't)
|
||||
(global-company-mode t))
|
||||
(use-package company-box
|
||||
:after company
|
||||
:diminish
|
||||
:hook (company-mode . company-box-mode))
|
||||
(use-package flycheck
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:init (global-flycheck-mode))
|
||||
|
||||
(use-package neotree
|
||||
:config
|
||||
(setq neo-smart-open t
|
||||
neo-show-hidden-files t
|
||||
neo-window-width 40
|
||||
neo-window-fixed-size nil
|
||||
inhibit-compacting-font-caches t
|
||||
projectile-switch-project-action 'neotree-projectile-action)
|
||||
(add-hook 'neo-after-create-hook
|
||||
#'(lambda (_)
|
||||
(with-current-buffer (get-buffer neo-buffer-name)
|
||||
(setq truncate-lines t)
|
||||
(setq word-wrap nil)
|
||||
(make-local-variable 'auto-hscroll-mode)
|
||||
(setq auto-hscroll-mode nil)))))
|
||||
|
||||
(setq neo-smart-open t)
|
||||
(add-hook 'neo-after-create-hook
|
||||
(lambda (&rest _) (display-line-numbers-mode -1)))
|
||||
(setq neo-theme nil)
|
||||
(evil-collection-init))
|
||||
|
||||
;; Org Mode
|
||||
(add-hook 'org-mode-hook 'org-indent-mode)
|
||||
(use-package org-bullets)
|
||||
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))
|
||||
(add-hook 'org-mode-hook 'org-indent-mode)
|
||||
(custom-set-faces
|
||||
'(org-level-1 ((t (:inherit outline-1 :height 1.7))))
|
||||
'(org-level-2 ((t (:inherit outline-2 :height 1.6))))
|
||||
|
@ -199,10 +99,28 @@
|
|||
'(org-level-6 ((t (:inherit outline-5 :height 1.2))))
|
||||
'(org-level-7 ((t (:inherit outline-5 :height 1.1)))))
|
||||
(setq org-highlight-latex-and-related '(latex script entities))
|
||||
(setq org-format-latex-options (plist-put org-format-latex-options :scale 1.3))
|
||||
(setq org-format-latex-options (plist-put org-format-latex-options :scale 1.35))
|
||||
(setq org-startup-with-latex-preview t)
|
||||
|
||||
;; Keybinds
|
||||
(use-package general
|
||||
:config
|
||||
(general-evil-setup)
|
||||
(general-create-definer tavo/leader-keys
|
||||
:states '(normal insert visual emacs)
|
||||
:keymaps 'override
|
||||
:prefix "SPC"
|
||||
:global-prefix "M-SPC")
|
||||
(tavo/leader-keys
|
||||
"c" '(comment-line :wk "Comment lines")
|
||||
"p" 'org-latex-preview))
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||
(global-set-key (kbd "C-c") 'kill-this-buffer)
|
||||
(global-set-key (kbd "C-=") 'text-scale-increase)
|
||||
(global-set-key (kbd "C-+") 'text-scale-increase)
|
||||
(global-set-key (kbd "C--") 'text-scale-decrease)
|
||||
|
||||
(setq custom-file (concat user-emacs-directory "custom.el"))
|
||||
(load custom-file 'noerror)
|
||||
|
||||
;;; init.el ends here
|
||||
;; init.el ends here
|
||||
|
|
Loading…
Reference in a new issue