FollieHiyuki-dotfiles/home/.config/doom/config.el
2021-02-13 19:28:59 +03:00

150 lines
5.1 KiB
EmacsLisp

;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Some functionality uses this to identify you
(setq user-full-name "FollieHiyuki"
user-mail-address "folliekazetani@protonmail.com")
;; Font settings
(setq doom-font (font-spec :family "Iosevka Nerd Font" :size 15)
doom-variable-pitch-font (font-spec :family "sans" :size 15)
doom-big-font (font-spec :family "Iosevka Nerd Font" :size 24)
doom-unicode-font (font-spec :family "Symbola" :size 14))
(custom-set-faces!
'(font-lock-comment-face :slant italic))
;; Might speedup all-the-icons
(setq inhibit-compacting-font-caches t)
;; Emoji
(setq emojify-display-style 'unicode)
;; Theme
(setq doom-theme 'doom-nord)
(setq doom-themes-enable-bold t
doom-themes-enable-italic t)
(setq doom-themes-treemacs-theme 'doom-colors
doom-themes-treemacs-enable-variable-pitch nil)
;; Pick an image for dashboard
;;(defun random-choice (items)
;; (let* ((size (length items))
;; (index (random size)))
;; (nth index items)))
;;(defvar *kawaii* (random-choice (delete "."
;; (delete ".." (directory-files (expand-file-name "images" doom-private-dir))))))
(setq +doom-dashboard-banner-file "yukino.png"
+doom-dashboard-banner-dir (expand-file-name "images" doom-private-dir)
+doom-dashboard-banner-padding '(0 . 2))
;; Line number
(setq display-line-numbers-type 'relative)
;; Indent
(setq-default
indent-tabs-mode nil
tab-width 2
evil-shift-width 2
standard-indent 2
line-spacing 2)
(after! highlight-indent-guides
(setq highlight-indent-guides-method 'character
highlight-indent-guides-responsive t))
;; Use ranger.el instead of default dired
(after! ranger
(setq ranger-override-dired-mode t
ranger-parent-depth 0
ranger-cleanup-eagerly t
ranger-show-hidden t
ranger-max-preview-size 20
ranger-dont-show-binary t))
;; Projectile
(setq projectile-project-search-path '("~/Code/")
projectile-auto-discover nil)
;; lsp
(after! company
(setq company-idle-delay 0.5
company-minimum-prefix-length 2)
(setq company-show-numbers nil))
(setq lsp-clients-clangd-args '("-j=2"
"--background-index"
"--clang-tidy"
"--completion-style=detailed"
"--pch-storage=memory"
"--header-insertion=iwyu"
"--header-insertion-decorators"))
(after! lsp-clangd (set-lsp-priority! 'clangd 2)) ;; Use clangd instead of default ccls
;; Quicker which-key
(setq which-key-idle-delay 0.5)
;; Org mode
(setq org-directory "~/Documents/Org/"
org-agenda-files '("~/Documents/Org/agenda.org")
org-default-notes-file (expand-file-name "notes.org" org-directory)
org-journal-dir "~/Documents/Org/Journal/"
org-hide-emphasis-markers t)
;; Elfeed
(setq rmh-elfeed-org-files (list (expand-file-name "elfeed.org" doom-private-dir)))
;;(add-hook! 'elfeed-search-mode-hook 'elfeed-update)
;; EMMS
;;(emms-all)
;;(emms-default-players)
;;(emms-playing-time 1)
;;(setq emms-source-file-default-directory "~/Music/"
;; emms-info-asynchronously 1
;; emms-playlist-buffer-name "*Music*"
;; emms-source-file-directory-tree-function 'emms-source-file-directory-tree-find
;; emms-browser-covers 'emms-browser-cache-thumbnail-async)
;;(setq emms-player-mpd-server-name "localhost"
;; emms-player-mpd-server-port "6600"
;; emms-player-mpd-music-directory "~/Music")
;;(add-to-list 'emms-info-functions 'emms-info-mpd 'emms-info-exiftool)
;;(add-to-list 'emms-player-list 'emms-player-mpd)
;;(map! :leader
;; :desc "Emms playlist"
;; "e a" #'emms-playlist-mode-go
;; :leader
;; :desc "Emms browse by album"
;; "e b" #'emms-browse-by-album
;; :leader
;; :desc "Emms pause track"
;; "e x" #'emms-pause
;; :leader
;; :desc "Emms stop track"
;; "e s" #'emms-stop
;; :leader
;; :desc "Emms previous track"
;; "e p" #'emms-previous
;; :leader
;; :desc "Emms next track"
;; "e n" #'emms-next)
;; Modeline
;;(display-time-mode 1)
;;(if (not (equal "Battery status not available" (battery)))
;; (display-battery-mode 1))
;;(emms-mode-line 1)
(setq doom-modeline-unicode-fallback t)
;; Here are some additional functions/macros that could help you configure Doom:
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.