|
|
|
@ -1,89 +1,57 @@
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;;; PACKAGE MANAGEMENT
|
|
|
|
|
;;; START UP
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
|
;;; Add load path.
|
|
|
|
|
(add-to-list 'load-path (concat user-emacs-directory "lisp"))
|
|
|
|
|
|
|
|
|
|
(require 'chezmoi)
|
|
|
|
|
;;; Add package-custom.
|
|
|
|
|
(require 'package-custom)
|
|
|
|
|
|
|
|
|
|
;;; ELPA's.
|
|
|
|
|
(setq package-archives
|
|
|
|
|
; '(("gnu" . "https://elpa.gnu.org/packages/")
|
|
|
|
|
; ("melpa" . "https://melpa.org/packages/")))
|
|
|
|
|
'(("gnu" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
|
|
|
|
|
("melpa" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")))
|
|
|
|
|
|
|
|
|
|
;;; Bootstrap.
|
|
|
|
|
(defun package-install-smart (package-name)
|
|
|
|
|
"Install PACKAGE-NAME (a symbol) smartly."
|
|
|
|
|
(if (package-installed-p package-name)
|
|
|
|
|
(add-to-list 'package-selected-packages package-name)
|
|
|
|
|
(unless (locate-library (symbol-name package-name))
|
|
|
|
|
(unless package-archive-contents
|
|
|
|
|
(package-refresh-contents))
|
|
|
|
|
(package-install package-name)
|
|
|
|
|
(add-to-list 'package-selected-packages package-name))))
|
|
|
|
|
|
|
|
|
|
;;; Update.
|
|
|
|
|
(defun package-update (&rest package-names)
|
|
|
|
|
"Update PACKAGE-NAMES or all packages installed.
|
|
|
|
|
Return the list updated."
|
|
|
|
|
(unless package-archive-contents
|
|
|
|
|
(package-refresh-contents))
|
|
|
|
|
(let ((ret nil) (name) (desc))
|
|
|
|
|
(dolist (package-cons package-alist)
|
|
|
|
|
(setq name (car package-cons))
|
|
|
|
|
(setq desc (nth 1 package-cons))
|
|
|
|
|
(when (and (or (null package-names)
|
|
|
|
|
(member name package-names))
|
|
|
|
|
(not (equal (package-desc-version desc)
|
|
|
|
|
(package-desc-version
|
|
|
|
|
(nth 1 (assoc name package-archive-contents))))))
|
|
|
|
|
(package-reinstall name)
|
|
|
|
|
(setq ret (cons name ret))))
|
|
|
|
|
ret))
|
|
|
|
|
|
|
|
|
|
;;; use-package
|
|
|
|
|
;;; Bootstrap use-package.
|
|
|
|
|
(package-install-smart 'use-package)
|
|
|
|
|
(require 'use-package)
|
|
|
|
|
(defun use-package-ensure-smart (name args _state &optional _no-refresh)
|
|
|
|
|
"Function for use-package :ensure keyword."
|
|
|
|
|
(dolist (ensure args)
|
|
|
|
|
(let ((package
|
|
|
|
|
(or (and (eq ensure t) (use-package-as-symbol name))
|
|
|
|
|
ensure)))
|
|
|
|
|
(when (consp package)
|
|
|
|
|
(use-package-pin-package (car package) (cdr-package))
|
|
|
|
|
(setq package (car package)))
|
|
|
|
|
(package-install-smart package))))
|
|
|
|
|
(setq use-package-ensure-function 'use-package-ensure-smart)
|
|
|
|
|
(setq use-package-always-ensure t)
|
|
|
|
|
|
|
|
|
|
;;; chezmoi.
|
|
|
|
|
(use-package chezmoi)
|
|
|
|
|
|
|
|
|
|
;;; package.
|
|
|
|
|
(use-package package
|
|
|
|
|
:after (chezmoi)
|
|
|
|
|
:config
|
|
|
|
|
(setq package-archives
|
|
|
|
|
; '(("gnu" . "https://elpa.gnu.org/packages/")
|
|
|
|
|
; ("melpa" . "https://melpa.org/packages/")))
|
|
|
|
|
'(("gnu" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
|
|
|
|
|
("melpa" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/"))))
|
|
|
|
|
|
|
|
|
|
;;; use-package.
|
|
|
|
|
(use-package use-package
|
|
|
|
|
:config
|
|
|
|
|
(defun use-package-ensure-smart (name args _state &optional _no-refresh)
|
|
|
|
|
"Function for use-package :ensure keyword."
|
|
|
|
|
(dolist (ensure args)
|
|
|
|
|
(let ((package
|
|
|
|
|
(or (and (eq ensure t) (use-package-as-symbol name))
|
|
|
|
|
ensure)))
|
|
|
|
|
(when (consp package)
|
|
|
|
|
(use-package-pin-package (car package) (cdr-package))
|
|
|
|
|
(setq package (car package)))
|
|
|
|
|
(package-install-smart package))))
|
|
|
|
|
(setq use-package-ensure-function 'use-package-ensure-smart)
|
|
|
|
|
(setq use-package-always-ensure t))
|
|
|
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;;; BEHAVIOUR
|
|
|
|
|
;;; C SOURCE
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
|
;;; Save #*# files to $XDG_CONFIG_HOME/emacs/auto-saves.
|
|
|
|
|
(setq auto-save-file-name-transforms
|
|
|
|
|
'((".*" "~/.config/emacs/auto-saves/" t)))
|
|
|
|
|
|
|
|
|
|
;;; Save *~ files to $XDG_CONFIG_HOME/emacs/backups.
|
|
|
|
|
(setq backup-directory-alist
|
|
|
|
|
'(("." . "~/.config/emacs/backups")))
|
|
|
|
|
|
|
|
|
|
;;; UTF-8!
|
|
|
|
|
(prefer-coding-system 'utf-8)
|
|
|
|
|
|
|
|
|
|
;;; Disable warnings
|
|
|
|
|
(setq warning-suppress-types '((comp)))
|
|
|
|
|
|
|
|
|
|
;;; Disable ring bell.
|
|
|
|
|
(setq ring-bell-function 'ignore)
|
|
|
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;;; APPEARANCE
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;;; Encoding.
|
|
|
|
|
(prefer-coding-system 'utf-8)
|
|
|
|
|
|
|
|
|
|
;;; Emoji fonts
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
@ -103,43 +71,62 @@ Return the list updated."
|
|
|
|
|
(set-fontset-font t charset (font-spec :family (car chinese-font-pair))))
|
|
|
|
|
(add-to-list 'face-font-rescale-alist chinese-font-pair))
|
|
|
|
|
|
|
|
|
|
;;; Don't show tool bar (copy, paste stuff).
|
|
|
|
|
(tool-bar-mode -1)
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;;; PACKAGES
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
|
;;; Set faces.
|
|
|
|
|
(set-face-background 'default "black")
|
|
|
|
|
(set-face-foreground 'default "white")
|
|
|
|
|
(set-face-attribute 'default nil :height (if (equal chezmoi-os "windows")
|
|
|
|
|
100 90))
|
|
|
|
|
;;; ahk-mode.
|
|
|
|
|
(when (equal chezmoi-os "windows")
|
|
|
|
|
(set-face-attribute 'default nil :family "Consolas"))
|
|
|
|
|
(use-package ahk-mode))
|
|
|
|
|
|
|
|
|
|
;;; fill-column-indicator
|
|
|
|
|
(defun fill-column-indicator-setup ()
|
|
|
|
|
"Setup fill-column-indicator."
|
|
|
|
|
(set-fill-column 79)
|
|
|
|
|
(display-fill-column-indicator-mode 1))
|
|
|
|
|
(add-hook 'text-mode-hook 'fill-column-indicator-setup)
|
|
|
|
|
(add-hook 'prog-mode-hook 'fill-column-indicator-setup)
|
|
|
|
|
;;; ccls.
|
|
|
|
|
(use-package ccls
|
|
|
|
|
:after (cc-mode)
|
|
|
|
|
:hook ((c-mode c++-mode objc-mode cuda-mode) .
|
|
|
|
|
(lambda () (require 'ccls) (lsp))))
|
|
|
|
|
|
|
|
|
|
;;; Set theme.
|
|
|
|
|
;;; cc-mode.
|
|
|
|
|
(use-package cc-mode
|
|
|
|
|
:hook ((c-mode) .
|
|
|
|
|
(lambda () (c-set-style "linux"))))
|
|
|
|
|
|
|
|
|
|
;;; color-theme-tomorrow.
|
|
|
|
|
(use-package color-theme-tomorrow
|
|
|
|
|
:config
|
|
|
|
|
(color-theme-tomorrow--define-theme night-bright)
|
|
|
|
|
(enable-theme 'tomorrow-night-bright))
|
|
|
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;;; PACKAGES
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
|
;;; undo-tree
|
|
|
|
|
(use-package undo-tree
|
|
|
|
|
;;; company
|
|
|
|
|
(use-package company
|
|
|
|
|
:demand t
|
|
|
|
|
:bind (:map
|
|
|
|
|
company-active-map
|
|
|
|
|
;; my binds
|
|
|
|
|
("<tab>" . company-select-next)
|
|
|
|
|
("<backtab>" . company-select-previous)
|
|
|
|
|
("<RET>" . company-complete-selection)
|
|
|
|
|
("S-<return>" . company-abort)
|
|
|
|
|
("<right>" . company-complete-common))
|
|
|
|
|
:config
|
|
|
|
|
(let ((dir (concat user-emacs-directory "undo-tree")))
|
|
|
|
|
(make-directory dir t)
|
|
|
|
|
(setq undo-tree-history-directory-alist
|
|
|
|
|
`(("." . ,dir))))
|
|
|
|
|
(global-undo-tree-mode))
|
|
|
|
|
(setq company-idle-delay 0.05)
|
|
|
|
|
(setq completion-ignore-case t)
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(global-company-mode)))
|
|
|
|
|
|
|
|
|
|
;;; dired.
|
|
|
|
|
(use-package dired)
|
|
|
|
|
|
|
|
|
|
;;; display-fill-column-indicator.
|
|
|
|
|
(use-package display-fill-column-indicator
|
|
|
|
|
:after (text-mode prog-mode simple)
|
|
|
|
|
:hook ((text-mode prog-mode) .
|
|
|
|
|
(lambda ()
|
|
|
|
|
(set-fill-column 79)
|
|
|
|
|
(display-fill-column-indicator-mode 1))))
|
|
|
|
|
|
|
|
|
|
;;; elist-mode.
|
|
|
|
|
(use-package elisp-mode
|
|
|
|
|
:hook (emacs-lisp-mode . (lambda () (setq indent-tabs-mode nil))))
|
|
|
|
|
|
|
|
|
|
;;; evil
|
|
|
|
|
(use-package evil
|
|
|
|
@ -190,21 +177,9 @@ Return the list updated."
|
|
|
|
|
("<return>" . comment-indent-new-line))
|
|
|
|
|
:config (evil-mode 1))
|
|
|
|
|
|
|
|
|
|
;;; man.
|
|
|
|
|
(use-package man)
|
|
|
|
|
|
|
|
|
|
;;; dired.
|
|
|
|
|
(use-package dired)
|
|
|
|
|
|
|
|
|
|
;;; help.
|
|
|
|
|
(use-package help)
|
|
|
|
|
|
|
|
|
|
;;; info.
|
|
|
|
|
(use-package info)
|
|
|
|
|
|
|
|
|
|
;;; evil-collection
|
|
|
|
|
(use-package evil-collection
|
|
|
|
|
:after (man dired help info)
|
|
|
|
|
:after (evil man dired help info)
|
|
|
|
|
:config
|
|
|
|
|
;; Initialize.
|
|
|
|
|
(evil-collection-init)
|
|
|
|
@ -225,6 +200,41 @@ Return the list updated."
|
|
|
|
|
(evil-collection-define-key 'normal 'Info-mode-map
|
|
|
|
|
(kbd "SPC") nil))
|
|
|
|
|
|
|
|
|
|
;;; faces.
|
|
|
|
|
(use-package faces
|
|
|
|
|
:config
|
|
|
|
|
(set-face-background 'default "black")
|
|
|
|
|
(set-face-foreground 'default "white")
|
|
|
|
|
(when (equal chezmoi-os "windows")
|
|
|
|
|
(set-face-attribute 'default nil :family "Consolas"))
|
|
|
|
|
(set-face-attribute 'default nil
|
|
|
|
|
:height (if (equal chezmoi-os "windows")
|
|
|
|
|
100 90)))
|
|
|
|
|
|
|
|
|
|
;;; file.
|
|
|
|
|
(use-package files
|
|
|
|
|
:config
|
|
|
|
|
;; Save #*# files to $XDG_CONFIG_HOME/emacs/auto-saves.
|
|
|
|
|
(setq auto-save-file-name-transforms
|
|
|
|
|
'((".*" "~/.config/emacs/auto-saves/" t)))
|
|
|
|
|
;; Save *~ files to $XDG_CONFIG_HOME/emacs/backups.
|
|
|
|
|
(setq backup-directory-alist
|
|
|
|
|
'(("." . "~/.config/emacs/backups"))))
|
|
|
|
|
|
|
|
|
|
;;; fish-mode.
|
|
|
|
|
(use-package fish-mode)
|
|
|
|
|
|
|
|
|
|
;;; help.
|
|
|
|
|
(use-package help)
|
|
|
|
|
|
|
|
|
|
;;; ibus
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(use-package ibus
|
|
|
|
|
:after (evil)))
|
|
|
|
|
|
|
|
|
|
;;; info.
|
|
|
|
|
(use-package info)
|
|
|
|
|
|
|
|
|
|
;;; ivy
|
|
|
|
|
(use-package ivy
|
|
|
|
|
:demand t
|
|
|
|
@ -239,60 +249,62 @@ Return the list updated."
|
|
|
|
|
:config
|
|
|
|
|
(ivy-mode 1))
|
|
|
|
|
|
|
|
|
|
;;; js.
|
|
|
|
|
(use-package js
|
|
|
|
|
:hook ((js-mode) .
|
|
|
|
|
(lambda () (setq indent-tabs-mode nil)))
|
|
|
|
|
:config
|
|
|
|
|
(setq js-indent-level 4))
|
|
|
|
|
|
|
|
|
|
(use-package lsp-mode
|
|
|
|
|
:after (evil)
|
|
|
|
|
:demand t
|
|
|
|
|
:config
|
|
|
|
|
(setq lsp-keep-workspace-alive nil)
|
|
|
|
|
:bind (:map
|
|
|
|
|
evil-motion-state-map
|
|
|
|
|
;; workspaces
|
|
|
|
|
("C-c C-l wD" . lsp-disconnect)
|
|
|
|
|
("C-c C-l wd" . lsp-describe-session)
|
|
|
|
|
("C-c C-l ws" . lsp)
|
|
|
|
|
;; folders
|
|
|
|
|
("C-c C-l fa" . lsp-workspace-folders-add)
|
|
|
|
|
("C-c C-l fb" . lsp-workspace-blacklist-remove)
|
|
|
|
|
("C-c C-l fr" . lsp-workspace-folders-remove)
|
|
|
|
|
;; goto
|
|
|
|
|
("gD" . nil)
|
|
|
|
|
("gD" . lsp-find-declaration)
|
|
|
|
|
("gd" . nil)
|
|
|
|
|
("gd" . lsp-find-definition)
|
|
|
|
|
:map
|
|
|
|
|
evil-normal-state-map
|
|
|
|
|
;; formatting
|
|
|
|
|
("=" . nil)
|
|
|
|
|
("==" . lsp-format-buffer)
|
|
|
|
|
("=r" . lsp-format-region)))
|
|
|
|
|
|
|
|
|
|
;;; lua-mode.
|
|
|
|
|
(use-package lua-mode
|
|
|
|
|
:hook ((lua-mode) .
|
|
|
|
|
(lambda () (setq indent-tabs-mode nil)))
|
|
|
|
|
:config
|
|
|
|
|
(setq lua-indent-level 4))
|
|
|
|
|
|
|
|
|
|
;;; magit
|
|
|
|
|
(use-package magit
|
|
|
|
|
:config
|
|
|
|
|
(when (equal chezmoi-os "windows")
|
|
|
|
|
(setq magit-git-executable "C:\\msys64\\usr\\bin\\git.exe")))
|
|
|
|
|
|
|
|
|
|
;;; company
|
|
|
|
|
(use-package company
|
|
|
|
|
:demand t
|
|
|
|
|
:bind (:map
|
|
|
|
|
company-active-map
|
|
|
|
|
;; my binds
|
|
|
|
|
("<tab>" . company-select-next)
|
|
|
|
|
("<backtab>" . company-select-previous)
|
|
|
|
|
("<RET>" . company-complete-selection)
|
|
|
|
|
("S-<return>" . company-abort)
|
|
|
|
|
("<right>" . company-complete-common))
|
|
|
|
|
:config
|
|
|
|
|
(setq company-idle-delay 0.05)
|
|
|
|
|
(setq completion-ignore-case t)
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(global-company-mode)))
|
|
|
|
|
;;; man.
|
|
|
|
|
(use-package man)
|
|
|
|
|
|
|
|
|
|
;;; org
|
|
|
|
|
(use-package org
|
|
|
|
|
:config
|
|
|
|
|
(setq org-startup-indented t)
|
|
|
|
|
(set-face-attribute 'outline-1 nil :height 150)
|
|
|
|
|
(set-face-attribute 'outline-2 nil :height 140)
|
|
|
|
|
(set-face-attribute 'outline-3 nil :height 130)
|
|
|
|
|
(set-face-attribute 'outline-4 nil :height 120)
|
|
|
|
|
(set-face-attribute 'outline-5 nil :height 110)
|
|
|
|
|
(set-face-attribute 'outline-6 nil :height 100))
|
|
|
|
|
|
|
|
|
|
;;; chezmoi
|
|
|
|
|
(use-package chezmoi)
|
|
|
|
|
|
|
|
|
|
;;; YAML.
|
|
|
|
|
(use-package yaml-mode)
|
|
|
|
|
|
|
|
|
|
;;; ibus
|
|
|
|
|
;;; message.
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(use-package ibus
|
|
|
|
|
:after (evil)))
|
|
|
|
|
|
|
|
|
|
;;; AutoHotkey.
|
|
|
|
|
(when (equal chezmoi-os "windows")
|
|
|
|
|
(use-package ahk-mode))
|
|
|
|
|
|
|
|
|
|
;;; smtpmail.
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(use-package smtpmail
|
|
|
|
|
(use-package message
|
|
|
|
|
:after (smtpmail)
|
|
|
|
|
:config
|
|
|
|
|
(setq smtpmail-local-domain (system-name))))
|
|
|
|
|
(setq message-send-mail-function 'smtpmail-send-it)))
|
|
|
|
|
|
|
|
|
|
;;; mu4e.
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
@ -327,89 +339,22 @@ Return the list updated."
|
|
|
|
|
(smtpmail-smtp-user . "chengys")
|
|
|
|
|
(smtpmail-smtp-service . 587)
|
|
|
|
|
(smtpmail-smtp-server . "disroot.org")))))))
|
|
|
|
|
;;; message.
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(use-package message
|
|
|
|
|
:after (smtpmail)
|
|
|
|
|
:config
|
|
|
|
|
(setq message-send-mail-function 'smtpmail-send-it)))
|
|
|
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;;; PROGRAMMING
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
|
(use-package lsp-mode
|
|
|
|
|
:demand t
|
|
|
|
|
;;; org
|
|
|
|
|
(use-package org
|
|
|
|
|
:config
|
|
|
|
|
(setq lsp-keep-workspace-alive nil)
|
|
|
|
|
:bind (:map
|
|
|
|
|
evil-motion-state-map
|
|
|
|
|
;; workspaces
|
|
|
|
|
("C-c C-l wD" . lsp-disconnect)
|
|
|
|
|
("C-c C-l wd" . lsp-describe-session)
|
|
|
|
|
("C-c C-l ws" . lsp)
|
|
|
|
|
;; folders
|
|
|
|
|
("C-c C-l fa" . lsp-workspace-folders-add)
|
|
|
|
|
("C-c C-l fb" . lsp-workspace-blacklist-remove)
|
|
|
|
|
("C-c C-l fr" . lsp-workspace-folders-remove)
|
|
|
|
|
;; goto
|
|
|
|
|
("gD" . nil)
|
|
|
|
|
("gD" . lsp-find-declaration)
|
|
|
|
|
("gd" . nil)
|
|
|
|
|
("gd" . lsp-find-definition)
|
|
|
|
|
:map
|
|
|
|
|
evil-normal-state-map
|
|
|
|
|
;; formatting
|
|
|
|
|
("=" . nil)
|
|
|
|
|
("==" . lsp-format-buffer)
|
|
|
|
|
("=r" . lsp-format-region)))
|
|
|
|
|
(setq org-startup-indented t)
|
|
|
|
|
(set-face-attribute 'outline-1 nil :height 150)
|
|
|
|
|
(set-face-attribute 'outline-2 nil :height 140)
|
|
|
|
|
(set-face-attribute 'outline-3 nil :height 130)
|
|
|
|
|
(set-face-attribute 'outline-4 nil :height 120)
|
|
|
|
|
(set-face-attribute 'outline-5 nil :height 110)
|
|
|
|
|
(set-face-attribute 'outline-6 nil :height 100))
|
|
|
|
|
|
|
|
|
|
(use-package flycheck
|
|
|
|
|
:demand t
|
|
|
|
|
:after (evil evil-collection)
|
|
|
|
|
:bind (:map
|
|
|
|
|
evil-motion-state-map
|
|
|
|
|
;; error navigation
|
|
|
|
|
("[[" . nil)
|
|
|
|
|
("[d" . flycheck-previous-error)
|
|
|
|
|
("]d" . flycheck-next-error)
|
|
|
|
|
("[[d" . flycheck-first-error))
|
|
|
|
|
:config
|
|
|
|
|
(setq flycheck-emacs-lisp-load-path 'inherit)
|
|
|
|
|
(add-hook 'emacs-lisp-mode-hook
|
|
|
|
|
(lambda ()
|
|
|
|
|
(when (equal (buffer-name) "init.el")
|
|
|
|
|
(flycheck-mode -1))))
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(global-flycheck-mode)))
|
|
|
|
|
;;; prog-mode.
|
|
|
|
|
(use-package prog-mode)
|
|
|
|
|
|
|
|
|
|
;;; Emacs Lisp
|
|
|
|
|
(add-hook 'emacs-lisp-mode-hook (lambda () (setq indent-tabs-mode nil)))
|
|
|
|
|
|
|
|
|
|
;;; C
|
|
|
|
|
(use-package ccls
|
|
|
|
|
:after (cc-mode)
|
|
|
|
|
:hook ((c-mode c++-mode objc-mode cuda-mode) .
|
|
|
|
|
(lambda () (require 'ccls) (lsp))))
|
|
|
|
|
(use-package cc-mode
|
|
|
|
|
:hook ((c-mode) .
|
|
|
|
|
(lambda () (c-set-style "linux"))))
|
|
|
|
|
|
|
|
|
|
;;; Javascript
|
|
|
|
|
(use-package js
|
|
|
|
|
:hook ((js-mode) .
|
|
|
|
|
(lambda () (setq indent-tabs-mode nil)))
|
|
|
|
|
:config
|
|
|
|
|
(setq js-indent-level 4))
|
|
|
|
|
|
|
|
|
|
;;; Lua
|
|
|
|
|
(use-package lua-mode
|
|
|
|
|
:hook ((lua-mode) .
|
|
|
|
|
(lambda () (setq indent-tabs-mode nil)))
|
|
|
|
|
:config
|
|
|
|
|
(setq lua-indent-level 4))
|
|
|
|
|
|
|
|
|
|
;;; Rust
|
|
|
|
|
;;; rustic.
|
|
|
|
|
(use-package rustic
|
|
|
|
|
:demand t
|
|
|
|
|
:hook ((rust-mode) .
|
|
|
|
@ -423,11 +368,37 @@ Return the list updated."
|
|
|
|
|
:config
|
|
|
|
|
(setq lsp-rust-analyzer-diagnostics-disabled ["inactive-code"]))
|
|
|
|
|
|
|
|
|
|
;;; Shell
|
|
|
|
|
;;; sh-script.
|
|
|
|
|
(use-package sh-script
|
|
|
|
|
:hook ((sh-mode) . (lambda () (setq indent-tabs-mode nil)))
|
|
|
|
|
:config
|
|
|
|
|
(setq sh-basic-offset 2))
|
|
|
|
|
|
|
|
|
|
;;; Fish.
|
|
|
|
|
(use-package fish-mode)
|
|
|
|
|
;;; simple.
|
|
|
|
|
(use-package simple)
|
|
|
|
|
|
|
|
|
|
;;; smtpmail.
|
|
|
|
|
(unless (equal chezmoi-os "windows")
|
|
|
|
|
(use-package smtpmail
|
|
|
|
|
:config
|
|
|
|
|
(setq smtpmail-local-domain (system-name))))
|
|
|
|
|
|
|
|
|
|
;;; text-mode
|
|
|
|
|
(use-package text-mode)
|
|
|
|
|
|
|
|
|
|
;;; tool-bar.
|
|
|
|
|
(use-package tool-bar
|
|
|
|
|
:config
|
|
|
|
|
(tool-bar-mode -1))
|
|
|
|
|
|
|
|
|
|
;;; undo-tree
|
|
|
|
|
(use-package undo-tree
|
|
|
|
|
:config
|
|
|
|
|
(let ((dir (concat user-emacs-directory "undo-tree")))
|
|
|
|
|
(make-directory dir t)
|
|
|
|
|
(setq undo-tree-history-directory-alist
|
|
|
|
|
`(("." . ,dir))))
|
|
|
|
|
(global-undo-tree-mode))
|
|
|
|
|
|
|
|
|
|
;;; yaml-mode.
|
|
|
|
|
(use-package yaml-mode)
|
|
|
|
|