modularize doom config
parent
b782df99fa
commit
f0fae45711
@ -0,0 +1,42 @@
|
||||
# Base16 Spacemacs 256 - alacritty color config
|
||||
# Nasser Alshammari (https://github.com/nashamri/spacemacs-theme)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x1f2022'
|
||||
foreground: '0xa3a3a3'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x1f2022'
|
||||
cursor: '0xa3a3a3'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x1f2022'
|
||||
red: '0xf2241f'
|
||||
green: '0x67b11d'
|
||||
yellow: '0xb1951d'
|
||||
blue: '0x4f97d7'
|
||||
magenta: '0xa31db1'
|
||||
cyan: '0x2d9574'
|
||||
white: '0xa3a3a3'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x585858'
|
||||
red: '0xf2241f'
|
||||
green: '0x67b11d'
|
||||
yellow: '0xb1951d'
|
||||
blue: '0x4f97d7'
|
||||
magenta: '0xa31db1'
|
||||
cyan: '0x2d9574'
|
||||
white: '0xf8f8f8'
|
||||
|
||||
indexed_colors:
|
||||
- { index: 16, color: '0xffa500' }
|
||||
- { index: 17, color: '0xb03060' }
|
||||
- { index: 18, color: '0x282828' }
|
||||
- { index: 19, color: '0x444155' }
|
||||
- { index: 20, color: '0xb8b8b8' }
|
||||
- { index: 21, color: '0xe8e8e8' }
|
@ -0,0 +1,84 @@
|
||||
;;; $DOOMDIR/penguin/appearance.el -*- lexical-binding: t; -*-
|
||||
|
||||
|
||||
;; (load-theme 'spamcemacs-dark t)
|
||||
;; (use-package spacemacs-theme
|
||||
;; :config
|
||||
;; (load-theme 'spacemacs-dark t))
|
||||
|
||||
(setq doom-font (font-spec :family "JetBrains Mono Nerd Font" :size 14 :weight 'semibold)
|
||||
doom-big-font (font-spec :family "JetBrains Mono Nerd Font" :size 28 :weight 'bold)
|
||||
doom-serif-font (font-spec :family "JetBrains Mono Nerd Font" :size 14 :weight 'bold))
|
||||
;; (setq doom-font "JetBrains Mono Nerd Font")
|
||||
;; Doom exposes five (optional) variables for controlling fonts in Doom:
|
||||
;;
|
||||
;; - `doom-font' -- the primary font to use
|
||||
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
|
||||
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||
;; presentations or streaming.
|
||||
;; - `doom-unicode-font' -- for unicode glyphs
|
||||
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
|
||||
;;
|
||||
;; See 'C-h v doom-font' for documentation and more examples of what they
|
||||
;; accept. For example:
|
||||
;;
|
||||
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
|
||||
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
|
||||
;;
|
||||
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
|
||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||
|
||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||
;; `load-theme' function. This is the default:
|
||||
(setq doom-theme 'spacemacs-dark)
|
||||
;; (use-package spacemacs-theme-dark
|
||||
;; :ensure t
|
||||
;; :config
|
||||
;; (load-theme 'spacemacs-dark-theme t))
|
||||
;; This determines the style of line numbers in effect. If set to `nil', line
|
||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||
(setq display-line-numbers-type t)
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
||||
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
||||
;;
|
||||
;; (after! PACKAGE
|
||||
;; (setq x y))
|
||||
;;
|
||||
;; The exceptions to this rule:
|
||||
;;
|
||||
;; - Setting file/directory variables (like `org-directory')
|
||||
;; - Setting variables which explicitly tell you to set them before their
|
||||
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
|
||||
;; - Setting doom variables (which start with 'doom-' or '+').
|
||||
;;
|
||||
;; Here are some additional functions/macros that will 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.
|
||||
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
|
||||
;; etc).
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
;; $EMACS_SPLASH_IMAGE should be defined as an absolute path as an environment variable. I define this in my ~/.localrc
|
||||
(setq fancy-splash-image (getenv "CONFIG_EMACS_SPLASH"))
|
||||
(setq centaur-tabs-style "wave")
|
||||
(setq centaur-tabs-set-bar 'under)
|
||||
|
||||
(use-package! evil-terminal-cursor-changer
|
||||
:hook (tty-setup . evil-terminal-cursor-changer-activate))
|
@ -0,0 +1,12 @@
|
||||
;;; $DOOMDIR/penguin/calendar.el -*- lexical-binding: t; -*-
|
||||
|
||||
(add-hook 'calendar-load-hook
|
||||
(lambda ()
|
||||
(calendar-set-date-style 'american)))
|
||||
|
||||
(setq calendar-holidays
|
||||
(append holiday-general-holidays holiday-local-holidays
|
||||
holiday-other-holidays
|
||||
holiday-solar-holidays))
|
||||
|
||||
(setq calendar-christian-all-holidays-flag 't)
|
@ -0,0 +1,35 @@
|
||||
;;; $DOOMDIR/penguin/completions.el -*- lexical-binding: t; -*-
|
||||
|
||||
|
||||
(require 'helm-make)
|
||||
(require 'ansi-color)
|
||||
|
||||
(setq helm-make-list-target-method 'qp)
|
||||
|
||||
;; Stopped using this and posframe because it breaks tty emacs
|
||||
;; (defun penguin-helm-posframe-size-function ()
|
||||
;; "The default functon used by `helm-posframe-size-function'."
|
||||
;; (list
|
||||
;; :width (/ (frame-width) 2)
|
||||
;; :height (or helm-posframe-height helm-display-buffer-height)
|
||||
;; :min-height (or helm-posframe-min-height
|
||||
;; (let ((height (+ helm-display-buffer-height 1)))
|
||||
;; (min height (or helm-posframe-height height))))
|
||||
;; :min-width (or helm-posframe-min-width
|
||||
;; (let ((width (round (* (frame-width) 0.62))))
|
||||
;; (min width (or helm-posframe-width width))))))
|
||||
|
||||
;; (setq helm-posframe-size-function #'penguin-helm-posframe-size-function)
|
||||
|
||||
(after! company
|
||||
(set-company-backend!
|
||||
'emacs-lisp-mode
|
||||
'(:separate
|
||||
company-capf company-files))
|
||||
(set-company-backend!
|
||||
'sh-mode
|
||||
'(:separate
|
||||
company-capf company-shell company-files)))
|
||||
|
||||
;; fix compilation buffer error which wouldn't let me jump to errors
|
||||
(add-hook 'compilation-filter-hook 'ansi-color-compilation-filter)
|
@ -0,0 +1,4 @@
|
||||
;;; $DOOMDIR/penguin/debug.el -*- lexical-binding: t; -*-
|
||||
|
||||
(require 'dap-cpptools)
|
||||
(setq dap-auto-configure-mode t)
|
@ -0,0 +1,99 @@
|
||||
;;; $DOOMDIR/penguin/keybinds.el -*- lexical-binding: t; -*-
|
||||
|
||||
(map! :leader
|
||||
:desc "Comment/Uncomment"
|
||||
"/" #'comment-line)
|
||||
(map! :leader
|
||||
:desc "Search project for text"
|
||||
"s /" #'+default/search-project)
|
||||
(with-eval-after-load 'evil
|
||||
(map!
|
||||
(:prefix "g"
|
||||
:desc "New line after comment block" :n "o" #'+default/newline-below)))
|
||||
(with-eval-after-load 'evil
|
||||
(map!
|
||||
(:prefix "g"
|
||||
:desc "New line after comment block" :n "O" #'+default/newline-above)))
|
||||
(defhydra doom-window-resize-hydra (:hint nil)
|
||||
"
|
||||
_k_ increase height _<up>_ increase height
|
||||
_h_ decrease width _l_ increase width _<left>_ decrease width _<right>_ increase width
|
||||
_j_ decrease height _<down>_ decrease height
|
||||
S-arrow key to shift by 5
|
||||
"
|
||||
("h" evil-window-decrease-width)
|
||||
("j" evil-window-increase-height)
|
||||
("k" evil-window-decrease-height)
|
||||
("l" evil-window-increase-width)
|
||||
("<left>" evil-window-decrease-width)
|
||||
("<up>" evil-window-increase-height)
|
||||
("<down>" evil-window-decrease-height)
|
||||
("<right>" evil-window-increase-width)
|
||||
("<S-left>" (evil-window-decrease-width 20))
|
||||
("<S-up>" (evil-window-increase-height 20))
|
||||
("<S-down>" (evil-window-decrease-height 20))
|
||||
("<S-right>" (evil-window-increase-width 20))
|
||||
|
||||
("q" nil))
|
||||
(map!
|
||||
(:leader
|
||||
:prefix "w"
|
||||
:desc "Hydra resize" :n "SPC" #'doom-window-resize-hydra/body))
|
||||
;; (map! :leader
|
||||
;; "f p" nil
|
||||
;; "f P" nil)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "f"
|
||||
:desc "Open doom config" "p" #'doom/open-private-config)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "w"
|
||||
:desc "Jump to window" "a" #'ace-window)
|
||||
|
||||
(map!
|
||||
(:leader
|
||||
:prefix "o"
|
||||
:desc "Calendar" :n "c" #'cfw:open-org-calendar))
|
||||
|
||||
(map! :map dap-mode-map
|
||||
:leader
|
||||
:prefix ("d" . "dap")
|
||||
;; basics
|
||||
:desc "dap next" "n" #'dap-next
|
||||
:desc "dap step in" "i" #'dap-step-in
|
||||
:desc "dap step out" "o" #'dap-step-out
|
||||
:desc "dap continue" "c" #'dap-continue
|
||||
:desc "dap hydra" "h" #'dap-hydra
|
||||
:desc "dap debug restart" "r" #'dap-debug-restart
|
||||
:desc "dap debug" "s" #'dap-debug
|
||||
|
||||
;; debug
|
||||
:prefix ("dd" . "Debug")
|
||||
:desc "dap debug recent" "r" #'dap-debug-recent
|
||||
:desc "dap debug last" "l" #'dap-debug-last
|
||||
|
||||
;; eval
|
||||
:prefix ("de" . "Eval")
|
||||
:desc "eval" "e" #'dap-eval
|
||||
:desc "eval region" "r" #'dap-eval-region
|
||||
:desc "eval thing at point" "s" #'dap-eval-thing-at-point
|
||||
:desc "add expression" "a" #'dap-ui-expressions-add
|
||||
:desc "remove expression" "d" #'dap-ui-expressions-remove
|
||||
|
||||
:prefix ("db" . "Breakpoint")
|
||||
:desc "dap breakpoint toggle" "b" #'dap-breakpoint-toggle
|
||||
:desc "dap breakpoint condition" "c" #'dap-breakpoint-condition
|
||||
:desc "dap breakpoint hit count" "h" #'dap-breakpoint-hit-condition
|
||||
:desc "dap breakpoint log message" "l" #'dap-breakpoint-log-message)
|
||||
|
||||
(after! centaur-tabs
|
||||
(map!
|
||||
(:leader
|
||||
:desc "Jump to tab" :n "j" #'centaur-tabs-ace-jump))
|
||||
(centaur-tabs-group-by-projectile-project)
|
||||
(centaur-tabs-group-buffer-groups))
|
||||
|
||||
;; kill company completion
|
||||
(with-eval-after-load 'company
|
||||
(define-key company-active-map (kbd "C-k") 'company-abort))
|
@ -0,0 +1,100 @@
|
||||
;;; $DOOMDIR/penguin/lang.el -*- lexical-binding: t; -*-
|
||||
|
||||
(require 'impatient-mode)
|
||||
;; Indenting, formatting, etc
|
||||
;; Universal (all langs)
|
||||
;; C/C++
|
||||
(c-add-style "penguin"
|
||||
'("stroustrup"
|
||||
(c-offsets-alist
|
||||
(innamespace . -)
|
||||
(inline-open . 0)
|
||||
(inher-cont . c-lineup-multi-inher)
|
||||
(arglist-cont-nonempty . +)
|
||||
(template-args-cont . +))))
|
||||
|
||||
(defun penguin-make-hook()
|
||||
(setq +format-with-lsp nil)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "p"
|
||||
:desc "Compile project" :n "c" #'helm-make-projectile)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "c"
|
||||
:desc "Compile project" :n "c" #'helm-make-projectile)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "c"
|
||||
:desc "List project errors" :n "x" #'lsp-treemacs-errors-list))
|
||||
|
||||
(add-hook 'makefile-mode-hook 'penguin-make-hook)
|
||||
(defun penguin-c-hook()
|
||||
(setq +format-with-lsp nil)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "p"
|
||||
:desc "Compile project" :n "c" #'helm-make-projectile)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "c"
|
||||
:desc "Compile project" :n "c" #'helm-make-projectile)
|
||||
(map!
|
||||
:leader
|
||||
:prefix "c"
|
||||
:desc "List project errors" :n "x" #'lsp-treemacs-errors-list)
|
||||
(c-set-style "penguin")
|
||||
(c-set-offset 'case-label '+)
|
||||
(c-set-offset 'arglist-intro '+)
|
||||
(setq lsp-headerline-breadcrumb-enable 't))
|
||||
(add-hook 'c-mode-hook 'penguin-c-hook)
|
||||
(add-hook 'c++-mode-hook 'penguin-c-hook)
|
||||
(add-hook 'after-change-major-mode-hook
|
||||
(lambda ()
|
||||
(modify-syntax-entry ?_ "w")))
|
||||
(defun apply-lang-settings-to-open-buffers ()
|
||||
"Apply C++ mode settings to open buffers."
|
||||
(interactive)
|
||||
(dolist (buffer (buffer-list))
|
||||
(with-current-buffer buffer
|
||||
(when (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
|
||||
(penguin-c-hook)))))
|
||||
(add-hook! 'doom-after-reload-hook #'apply-lang-settings-to-open-buffers)
|
||||
|
||||
;; Markdown
|
||||
(add-hook 'text-mode-hook
|
||||
#'(lambda ()
|
||||
(setq indent-tabs-mode nil)
|
||||
(setq tab-width 4)))
|
||||
|
||||
(defun markdown-html (buffer)
|
||||
(princ (with-current-buffer buffer
|
||||
(format "<!DOCTYPE html><html><title>Impatient Markdown</title><xmp theme=\"united\" style=\"display:none;\"> %s </xmp><script src=\"http://ndossougbe.github.io/strapdown/dist/strapdown.js\"></script></html>" (buffer-substring-no-properties (point-min) (point-max))))
|
||||
(current-buffer)))
|
||||
(imp-set-user-filter 'markdown-html)
|
||||
;; Rust
|
||||
(after! rustic
|
||||
(setq lsp-rust-server 'rust-analyzer))
|
||||
(setq lsp-rust-analyzer-cargo-watch-command "clippy")
|
||||
(setq lsp-eldoc-render-all t)
|
||||
(setq lsp-idle-delay 0.6)
|
||||
(setq lsp-rust-analyzer-server-display-inlay-hints t)
|
||||
(setq lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial")
|
||||
(setq lsp-rust-analyzer-display-chaining-hints t)
|
||||
(setq lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil)
|
||||
(setq lsp-rust-analyzer-display-closure-return-type-hints t)
|
||||
(setq lsp-rust-analyzer-display-parameter-hints nil)
|
||||
(setq lsp-rust-analyzer-display-reborrow-hints nil)
|
||||
|
||||
|
||||
(add-hook 'python-mode-hook
|
||||
(lambda ()
|
||||
(setq +format-with-lsp nil)
|
||||
(setq indent-tabs-mode t)
|
||||
(setq tab-width 4)
|
||||
(setq py-indent-tabs-mode t)
|
||||
(setq python-indent 4)
|
||||
(setq python-indent-offset 4)
|
||||
(add-to-list 'write-file-functions 'delete-trailing-whitespace))
|
||||
(tabify (point-min) (point-max)))
|
||||
|
@ -0,0 +1,15 @@
|
||||
;;; $DOOMDIR/penguin/local.el -*- lexical-binding: t; -*-
|
||||
|
||||
(setq-local local-doom-user-dir (expand-file-name "~/.local/share/doom/"))
|
||||
(if
|
||||
(file-directory-p local-doom-user-dir)
|
||||
(progn
|
||||
(cl-loop for file in
|
||||
(directory-files local-doom-user-dir nil directory-files-no-dot-files-regexp) do
|
||||
(progn
|
||||
(unless (string= file "packages.el")
|
||||
(print (concat "Loading " file))
|
||||
(load (concat local-doom-user-dir file))
|
||||
))))
|
||||
(progn
|
||||
(print local-doom-user-dir " not found.")))
|
@ -0,0 +1,19 @@
|
||||
;;; $DOOMDIR/penguin/misc.el -*- lexical-binding: t; -*-
|
||||
|
||||
(setq-default evil-kill-on-visual-paste nil)
|
||||
|
||||
(setq find-file-hook nil)
|
||||
(defun penguin-reload-dir-locals-for-current-buffer ()
|
||||
"reload dir locals for the current buffer"
|
||||
(interactive)
|
||||
(let ((enable-local-variables :all))
|
||||
(hack-dir-local-variables-non-file-buffer)))
|
||||
(defun penguin-reload-dir-locals-for-all-buffer-in-this-directory ()
|
||||
"For every buffer with the same `default-directory` as the
|
||||
current buffer's, reload dir-locals."
|
||||
(interactive)
|
||||
(let ((dir default-directory))
|
||||
(dolist (buffer (buffer-list))
|
||||
(with-current-buffer buffer
|
||||
(when (equal default-directory dir)
|
||||
(penguin-reload-dir-locals-for-current-buffer))))))
|
@ -0,0 +1,59 @@
|
||||
;;; $DOOMDIR/user/org.el -*- lexical-binding: t; -*-
|
||||
|
||||
(add-hook! 'org-mode-hook 'org-num-mode)
|
||||
(setq org-directory "~/org/")
|
||||
(setq org-noter-notes-search-path '("~/Documents/notes/"))
|
||||
(after! org
|
||||
(setq org-agenda-files
|
||||
'("~/Documents/agendas"))
|
||||
(org-link-set-parameters "rel" :follow #'browse-url :export #'wvxvw/export-rel-url)
|
||||
(set-company-backend!
|
||||
'org-mode
|
||||
'company-capf 'company-files)
|
||||
(setq org-todo-keywords
|
||||
'((sequence
|
||||
"TODO(t)"
|
||||
"BLOCKED(b)"
|
||||
"WIP(w)"
|
||||
"REVIEW(r)"
|
||||
"|"
|
||||
"CLOSED(c)"
|
||||
"RESOLVED(R)"
|
||||
"DONE(d)"))))
|
||||
|
||||
|
||||
|
||||
;; (setcdr (assq 'system org-file-apps-defaults-gnu) "xdg-open %s")
|
||||
(setcdr (assq 'system org-file-apps-gnu) "xdg-open %s")
|
||||
|
||||
(advice-add 'org-open-file :around
|
||||
(lambda (orig-fun &rest args)
|
||||
;; Work around a weird problem with xdg-open.
|
||||
(let ((process-connection-type nil))
|
||||
(apply orig-fun args))))
|
||||
|
||||
(defun org-table-import-xlsx-to-csv-org ()
|
||||
(interactive)
|
||||
(let* ((source-file (file-name-sans-extension (buffer-file-name
|
||||
(current-buffer))))
|
||||
(xlsx-file (concat source-file ".xlsx"))
|
||||
(csv-file (concat source-file ".csv")))
|
||||
(org-odt-convert xlsx-file "csv")
|
||||
(org-table-import csv-file nil)))
|
||||
|
||||
|
||||
(defun org-table-import-xlsx-file-to-csv-org (file)
|
||||
(interactive "f")
|
||||
(let* ((source-file (file-name-sans-extension (buffer-file-name
|
||||
(current-buffer))))
|
||||
(xlsx-file (concat source-file ".xlsx"))
|
||||
(csv-file (concat source-file ".csv")))
|
||||
(org-odt-convert file "csv")
|
||||
(org-table-import csv-file nil)))
|
||||
|
||||
;; I originally added this to fix relative links when converting org to html links but I'm pretty sure it doesn't even work
|
||||
(defun wvxvw/export-rel-url (path desc format)
|
||||
(cl-case format
|
||||
(html (format "<a href=\"%s\">%s</a>" path (or desc path)))
|
||||
(latex (format "\\href{%s}{%s}" path (or desc path)))
|
||||
(otherwise path)))
|
@ -0,0 +1,23 @@
|
||||
;;; $DOOMDIR/penguin/project.el -*- lexical-binding: t; -*-
|
||||
|
||||
(require 'projectile)
|
||||
(setq lsp-treemacs-sync-mode 1)
|
||||
(setq projectile-project-search-path '("~/Projects/"))
|
||||
(setq treemacs-hide-dot-git-directory nil)
|
||||
(setq treemacs-project-follow-into-home nil)
|
||||
;; (setq projectile-project-root-functions '(projectile-root-local
|
||||
;; projectile-root-top-down
|
||||
;; projectile-root-bottom-up
|
||||
;; projectile-root-top-down-recurring))
|
||||
(setf treemacs-follow-mode nil)
|
||||
(setq treemacs-project-follow-mode t)
|
||||
(defun penguin-projectile-switch-project-action ()
|
||||
(closure
|
||||
t
|
||||
nil
|
||||
(+workspace-new)
|
||||
(+workspaces-set-project-action-fn)
|
||||
(+workspaces-switch-to-project-h)))
|
||||
(setq projectile-switch-project-action 'penguin-projectile-switch-project-action)
|
||||
(after! projectile
|
||||
(add-to-list 'projectile-globally-ignored-directories "^.cache$"))
|
@ -0,0 +1,2 @@
|
||||
~/
|
||||
~/Projects/
|
@ -0,0 +1,5 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: date
|
||||
# key: <d
|
||||
# --
|
||||
`(format-time-string "%m-%d-%Y")`$0
|
@ -0,0 +1,374 @@
|
||||
;;; doom-gruvbox-material-light.el --- inspired by Gruvbox material
|
||||
;;; https://github.com/sainnhe/gruvbox-material/blob/master/autoload/gruvbox_material.vim
|
||||
(require 'doom-themes)
|
||||
|
||||
(defgroup doom-gruvbox-material-light-theme nil
|
||||
"Options for `doom-gruvbox-material-light' theme"
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-gruvbox-material-light-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-gruvbox-material-light-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-gruvbox-material-light-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-gruvbox-material-light-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-gruvbox-material-light-comment-bg doom-gruvbox-material-light-brighter-comments
|
||||
"If non-nil, comments will have a subtle, darker background. Enhancing their
|
||||
legibility."
|
||||
:group 'doom-gruvbox-material-light-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-gruvbox-material-light-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to
|
||||
determine the exact padding."
|
||||
:group 'doom-gruvbox-material-light-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
(defcustom doom-gruvbox-material-light-background nil
|
||||
"Choice between \"soft\", \"medium\" and \"hard\" background contrast.
|
||||
Defaults to \"soft\""
|
||||
:group 'doom-gruvbox-material-light-theme
|
||||
:type 'string)
|
||||
|
||||
(defcustom doom-gruvbox-material-light-palette nil
|
||||
"Choice between \"material\", \"mix\" and \"original\" color palette.
|
||||
Defaults to \"material\""
|
||||
:group 'doom-gruvbox-material-light-theme
|
||||
:type 'string)
|
||||
|
||||
(defcustom doom-gruvbox-material-light-dired-height 1.15
|
||||
"Font height for dired buffers"
|
||||
:group 'doom-gruvbox-material-light-theme
|
||||
:type 'float)
|
||||
;; colors from
|
||||
;; https://github.com/sainnhe/gruvbox-material-vscode/tree/master/src/palette
|
||||
(cond
|
||||
((equal doom-gruvbox-material-light-background "hard")
|
||||
(setq gm/bg "#f9f5d7" ;; bg
|
||||
gm/bg-alt "#fbf1c7" ;; bg2
|
||||
gm/base0 "#f3eac7" ;; bg1
|
||||
gm/base1 "#fbf1c7" ;; bg2
|
||||
gm/base2 "#f2e5bc" ;; bg3
|
||||
gm/base3 "#f2e5bc" ;; bg4
|
||||
gm/base4 "#ebdbb2" ;; bg5
|
||||
gm/base5 "#e0cfa9" ;; bg6
|
||||
gm/base6 "#d5c4a1" ;; bg7
|
||||
gm/base7 "#c9b99a" ;; bg8
|
||||
gm/base8 "#a89984")) ;; grey0
|
||||
((equal doom-gruvbox-material-light-background "medium")
|
||||
(setq gm/bg "#fbf1c7" ;; bg
|
||||
gm/bg-alt "#f2e5bc" ;; bg2
|
||||
gm/base0 "#f6ebc1" ;; bg1
|
||||
gm/base1 "#f2e5bc" ;; bg2
|
||||
gm/base2 "#eee0b7" ;; bg3
|
||||
gm/base3 "#ebdbb2" ;; bg4
|
||||
gm/base4 "#e0cfa9" ;; bg5
|
||||
gm/base5 "#d5c4a1" ;; bg6
|
||||
gm/base6 "#c9b99a" ;; bg7
|
||||
gm/base7 "#bdae93" ;; bg8
|
||||
gm/base8 "#a89984")) ;; grey0
|
||||
(t
|
||||
(setq gm/bg "#f2e5bc" ;; bg
|
||||
gm/bg-alt "#ebdbb2" ;; bg2
|
||||
gm/base0 "#efe0b7" ;; bg1
|
||||
gm/base1 "#ebdbb2" ;; bg2
|
||||
gm/base2 "#e6d5ae" ;; bg3
|
||||
gm/base3 "#e0cfa9" ;; bg4
|
||||
gm/base4 "#d5c4a1" ;; bg5
|
||||
gm/base5 "#c9b99a" ;; bg6
|
||||
gm/base6 "#bdae93" ;; bg7
|
||||
gm/base7 "#a89984" ;; bg8
|
||||
gm/base8 "#a89984"))) ;; grey0
|
||||
|
||||
(cond
|
||||
((equal doom-gruvbox-material-light-palette "original")
|
||||
(setq gm/fg "#3c3836" ;; fg
|
||||
gm/fg-alt "#504945" ;; fg1
|
||||
gm/red "#9d0006"
|
||||
gm/dark-red "#ea6962" ;;dimRed
|
||||
gm/orange "#af3a03"
|
||||
gm/dark-orange "#e78a4e" ;;dimOrange
|
||||
gm/green "#79740e"
|
||||
gm/dark-green "#a9b665" ;;dimGreen
|
||||
gm/teal "#427b58" ;; aqua
|
||||
gm/dark-teal "#89b482" ;; dimAqua
|
||||
gm/yellow "#b57614"
|
||||
gm/dark-yellow "#d8a657" ;; dimYellow
|
||||
gm/blue "#076678"
|
||||
gm/dark-blue "#7daea3" ;; dimBlue
|
||||
gm/magenta "#8f3f71" ;; purple
|
||||
gm/violet "#d3869b" ;; dimPurple
|
||||
gm/cyan "#427b58" ;; aqua
|
||||
gm/dark-cyan "#89b482")) ;; dimAqua
|
||||
((equal doom-gruvbox-material-light-palette "mix")
|
||||
(setq gm/fg "#514036" ;; fg
|
||||
gm/fg-alt "#6f4f3c" ;; fg1
|
||||
gm/red "#af2528"
|
||||
gm/dark-red "#ea6962" ;;dimRed
|
||||
gm/orange "#b94c07"
|
||||
gm/dark-orange "#e78a4e" ;;dimOrange
|
||||
gm/green "#72761e"
|
||||
gm/dark-green "#a9b665" ;;dimGreen
|
||||
gm/teal "#477a5b" ;; aqua
|
||||
gm/dark-teal "#89b482" ;; dimAqua
|
||||
gm/yellow "#b4730e"
|
||||
gm/dark-yellow "#d8a657" ;; dimYellow
|
||||
gm/blue "#266b79"
|
||||
gm/dark-blue "#7daea3" ;; dimBlue
|
||||
gm/magenta "#924f79" ;; purple
|
||||
gm/violet "#d3869b" ;; dimPurple
|
||||
gm/cyan "#477a5b" ;; aqua
|
||||
gm/dark-cyan "#89b482")) ;; dimAqua
|
||||
(t
|
||||
(setq gm/fg "#654735" ;; fg
|
||||
gm/fg-alt "#6f4f3c" ;; fg1
|
||||
gm/red "#c14a4a"
|
||||
gm/dark-red "#ea6962" ;; dimRed
|
||||
gm/orange "#c35e0a"
|
||||
gm/dark-orange "#e78a4e" ;; dimOrange
|
||||
gm/green "#6c782e"
|
||||
gm/dark-green "#a9b665" ;; dimGreen
|
||||
gm/teal "#4c7a5d" ;; aqua
|
||||
gm/dark-teal "#89b482" ;; dimAqua
|
||||
gm/yellow "#b47109"
|
||||
gm/dark-yellow "#d8a657" ;; dimYellow
|
||||
gm/blue "#45707a"
|
||||
gm/dark-blue "#7daea3" ;; dimBlue
|
||||
gm/magenta "#945e80" ;; purple
|
||||
gm/violet "#d3869b" ;; dimPurple
|
||||
gm/cyan "#4c7a5d" ;; aqua
|
||||
gm/dark-cyan "#89b482"))) ;; dimAqua
|
||||
|
||||
|
||||
(def-doom-theme doom-gruvbox-material-light
|
||||
"Gruvbox material light variant"
|
||||
;; name default 256 16
|
||||
((bg `(,gm/bg "#ffffd7" nil ))
|
||||
(bg-alt `(,gm/bg-alt "#ffffd7" nil ))
|
||||
(base0 `(,gm/base0 "#f0f0f0" "white" ))
|
||||
(base1 `(,gm/base1 "#ffffff" "brightblack" ))
|
||||
(base2 `(,gm/base2 "#d7d6af" "brightblack" ))
|
||||
(base3 `(,gm/base3 "#262626" "brightblack" ))
|
||||
(base4 `(,gm/base4 "#3f3f3f" "brightblack" ))
|
||||
(base5 `(,gm/base5 "#525252" "brightblack" ))
|
||||
(base6 `(,gm/base6 "#6b6b6b" "brightblack" ))
|
||||
(base7 `(,gm/base7 "#979797" "brightblack" ))
|
||||
(base8 `(,gm/base8 "#8a8a8a" "white" ))
|
||||
(fg `(,gm/fg "#875f00" "brightblack" ))
|
||||
(fg-alt `(,gm/fg-alt "#1c1c1c" "black" ))
|
||||
|
||||
(grey base8)
|
||||
(red `(,gm/red "#d70000" "red" ))
|
||||
(dark-red `(,gm/dark-red "#af0000" "red" ))
|
||||
(orange `(,gm/orange "#d75f00" "brightred" ))
|
||||
(dark-orange `(,gm/dark-orange "#d75f00" "brightred" ))
|
||||
(green `(,gm/green "#878700" "green" ))
|
||||
(dark-green `(,gm/dark-green "#878700" "green" ))
|
||||
(teal `(,gm/teal "#00875f" "brightgreen" ))
|
||||
(dark-teal `(,gm/dark-teal "#00875f" "brightgreen" ))
|
||||
(yellow `(,gm/yellow "#af5f00" "yellow" ))
|
||||
(dark-yellow `(,gm/dark-yellow "#af5f00" "yellow" ))
|
||||
(blue `(,gm/blue "#005f5f" "brightblue" ))
|
||||
(dark-blue `(,gm/dark-blue "#005f5f" "blue" ))
|
||||
(magenta `(,gm/magenta "#87005f" "brightmagenta"))
|
||||
(violet `(,gm/violet "#87005f" "magenta" ))
|
||||
(cyan `(,gm/cyan "#00875f" "brightcyan" ))
|
||||
(dark-cyan `(,gm/dark-cyan "#00875f" "cyan" ))
|
||||
|
||||
;; face categories -- required for all themes
|
||||
(highlight blue)
|
||||
(vertical-bar (doom-darken base1 0.1))
|
||||
;; (selection dark-blue)
|
||||
(selection grey)
|
||||
(builtin magenta)
|
||||
(comments (if doom-gruvbox-material-light-brighter-comments dark-cyan
|
||||
(doom-blend yellow base8 0.5)))
|
||||
(doc-comments (doom-darken (if doom-gruvbox-material-light-brighter-comments green green) 0.15))
|
||||
(constants magenta)
|
||||
(functions cyan)
|
||||
(keywords (doom-darken dark-green 0.25))
|
||||
(methods cyan)
|
||||
(operators blue)
|
||||
(type orange)
|
||||
(strings green)
|
||||
(variables cyan)
|
||||
(numbers magenta)
|
||||
(region `(,(doom-darken (car bg-alt) 0.15) ,@(doom-darken (cdr base1) 0.35)))
|
||||
(error red)
|
||||
(warning yellow)
|
||||
(success green)
|
||||
(vc-modified orange)
|
||||
(vc-added green)
|
||||
(vc-deleted red)
|
||||
|
||||
;; custom categories
|
||||
(hidden `(,(car bg) "black" "black"))
|
||||
(-modeline-bright doom-gruvbox-material-light-brighter-modeline)
|
||||
(-modeline-pad
|
||||
(when doom-gruvbox-material-light-padded-modeline
|
||||
(if (integerp doom-gruvbox-material-light-padded-modeline) doom-gruvbox-material-light-padded-modeline 4)))
|
||||
|
||||
(modeline-fg fg)
|
||||
(modeline-fg-alt fg-alt)
|
||||
|
||||
(modeline-bg
|
||||
(if -modeline-bright
|
||||
(doom-darken blue 0.475)
|
||||
`(,(doom-darken (car bg-alt) 0.15) ,@(cdr base0))))
|
||||
(modeline-bg-l
|
||||
(if -modeline-bright
|
||||
(doom-darken blue 0.45)
|
||||
`(,(doom-darken (car bg-alt) 0.1) ,@(cdr base0))))
|
||||
(modeline-bg-inactive `(,(doom-darken (car bg-alt) 0.1) ,@(cdr bg-alt)))
|
||||
(modeline-bg-inactive-l `(,(car bg-alt) ,@(cdr base1))))
|
||||
|
||||
|
||||
;; --- extra faces ------------------------
|
||||
((elscreen-tab-other-screen-face :background "#353a42" :foreground "#1e2022")
|
||||
(evil-goggles-default-face :inherit 'region :background (doom-blend region bg 0.5))
|
||||
|
||||
((line-number &override) :foreground (doom-darken fg-alt 0.4))
|
||||
((line-number-current-line &override) :foreground fg)
|
||||
|
||||
(font-lock-comment-face
|
||||
:foreground comments
|
||||
:background (if doom-gruvbox-material-light-comment-bg (doom-lighten bg 0.05)))
|
||||
(font-lock-doc-face
|
||||
:inherit 'font-lock-comment-face
|
||||
:foreground doc-comments)
|
||||
|
||||
(mode-line
|
||||
:background modeline-bg :foreground modeline-fg
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive :foreground modeline-fg-alt
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if -modeline-bright base8 highlight))
|
||||
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-l
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-l)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-l
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive-l)))
|
||||
|
||||
;; Doom modeline
|
||||
(doom-modeline-bar :background (if -modeline-bright modeline-bg highlight))
|
||||
(doom-modeline-buffer-file :inherit 'mode-line-buffer-id :weight 'bold)
|
||||
(doom-modeline-buffer-path :inherit 'mode-line-emphasis :weight 'bold)
|
||||
(doom-modeline-buffer-project-root :foreground blue :weight 'bold)
|
||||
|
||||
;; ivy-mode
|
||||
(ivy-current-match :background blue :distant-foreground base0 :weight 'bold)
|
||||
;; (ivy-current-match :foreground blue :background bg)
|
||||
(ivy-minibuffer-match-face-2 :foreground blue :background bg)
|
||||
|
||||
;; --- major-mode faces -------------------
|
||||
;; column indicator
|
||||
(fill-column-indicator :foreground bg-alt :background bg-alt)
|
||||
|
||||
;; css-mode / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground blue)
|
||||
|
||||
;; dired
|
||||
(diredfl-compressed-file-name :height doom-gruvbox-material-light-dired-height
|
||||
:foreground yellow)
|
||||
(diredfl-dir-heading :height doom-gruvbox-material-light-dired-height
|
||||
:foreground teal)
|
||||
(diredfl-dir-name :height doom-gruvbox-material-light-dired-height
|
||||
:foreground blue)
|
||||
(diredfl-deletion :height doom-gruvbox-material-light-dired-height
|
||||
:foreground red :background (doom-lighten red 0.55))
|
||||
(diredfl-deletion-file-name :foreground red
|
||||
:background (doom-lighten red 0.55))
|
||||
(diredfl-file-name :height doom-gruvbox-material-light-dired-height
|
||||
:foreground fg)
|
||||
(dired-flagged :height doom-gruvbox-material-light-dired-height
|
||||
:foreground red :background (doom-lighten red 0.55))
|
||||
(diredfl-symlink :height doom-gruvbox-material-light-dired-height
|
||||
:foreground magenta)
|
||||
|
||||
;; eshell
|
||||
(+eshell-prompt-git-branch :foreground cyan)
|
||||
|
||||
;; evil
|
||||
(evil-ex-lazy-highlight :foreground fg :background violet)
|
||||
(evil-snipe-first-match-face :foreground bg :background orange)
|
||||
|
||||
;; LaTeX-mode
|
||||
(font-latex-math-face :foreground (doom-darken dark-green 0.2))
|
||||
(font-latex-script-char-face :foreground dark-blue)
|
||||
|
||||
;; lsp
|
||||
(lsp-face-highlight-read :foreground fg-alt
|
||||
:background (doom-lighten dark-blue 0.3))
|
||||
(lsp-face-highlight-textual :foreground fg-alt
|
||||
:background (doom-lighten dark-blue 0.3))
|
||||
(lsp-face-highlight-write :foreground fg-alt
|
||||
:background (doom-lighten dark-blue 0.3))
|
||||
(lsp-lsp-flycheck-info-unnecessary-face
|
||||
:foreground (doom-lighten dark-yellow 0.12))
|
||||
|
||||
;; magit
|
||||
(magit-section-heading :foreground blue :weight 'bold)
|
||||
|
||||
;; markdown-mode
|
||||
(markdown-markup-face :foreground base5)
|
||||
(markdown-header-face :inherit 'bold :foreground blue)
|
||||
((markdown-code-face &override) :background (doom-darken base3 0.05))
|
||||
|
||||
;; org-mode
|
||||
(org-hide :foreground hidden)
|
||||
(solaire-org-hide-face :foreground hidden)
|
||||
(org-document-info :foreground blue)
|
||||
(org-document-info-keyword :foreground dark-blue)
|
||||
(org-document-title :foreground blue)
|
||||
(org-block-begin-line :foreground dark-cyan
|
||||
:background bg-alt)
|
||||
(org-block-end-line :foreground dark-cyan
|
||||
:background bg-alt)
|
||||
(org-block :foreground fg :background bg-alt)
|
||||
(org-meta-line :foreground dark-cyan)
|
||||
(org-drawer :foreground dark-yellow)
|
||||
(org-level-1 :foreground magenta :weight 'semi-bold :height 1.4)
|
||||
(org-level-2 :foreground cyan :weight 'semi-bold :height 1.2)
|
||||
(org-level-3 :foreground green :weight 'semi-bold :height 1.1)
|
||||
(org-level-4 :foreground yellow :weight 'semi-bold)
|
||||
(org-level-5 :foreground violet :weight 'semi-bold)
|
||||
(org-level-6 :foreground dark-cyan :weight 'semi-bold)
|
||||
(org-level-7 :foreground dark-green :weight 'semi-bold)
|
||||
(org-level-8 :foreground dark-yellow :weight 'semi-bold)
|
||||
|
||||
;; rainbow
|
||||
(rainbow-delimiters-depth-1-face :foreground (doom-lighten orange 0.2))
|
||||
(rainbow-delimiters-depth-2-face :foreground violet)
|
||||
(rainbow-delimiters-depth-3-face :foreground dark-cyan)
|
||||
(rainbow-delimiters-depth-4-face :foreground dark-yellow)
|
||||
(rainbow-delimiters-unmatched-face: :foreground fg :background 'nil)
|
||||
(show-paren-match :foreground bg :background dark-red)
|
||||
|
||||
;; tree sitter
|
||||
(tree-sitter-hl-face:method.call :foreground cyan :weight 'semi-bold)
|
||||
|
||||
;; others
|
||||
(isearch :foreground bg :background violet)
|
||||
(selection :foreground bg-alt :background dark-orange)
|
||||
(company-tooltip-common-selection :foreground bg-alt :background dark-blue)
|
||||
|
||||
)
|
||||
|
||||
|
||||
;; --- extra variables ---------------------
|
||||
()
|
||||
)
|
||||
|
||||
;;; doom-gruvbox-material-light-theme.el ends here
|
@ -0,0 +1,370 @@
|
||||
;;; doom-gruvbox-material.el --- inspired by Gruvbox material
|
||||
;;; https://github.com/sainnhe/gruvbox-material/blob/master/autoload/gruvbox_material.vim
|
||||
(require 'doom-themes)
|
||||
|
||||
;;
|
||||
(defgroup doom-gruvbox-material-theme nil
|
||||
"Options for doom-themes"
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-gruvbox-material-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-gruvbox-material-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-gruvbox-material-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-gruvbox-material-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-gruvbox-material-comment-bg doom-gruvbox-material-brighter-comments
|
||||
"If non-nil, comments will have a subtle, darker background. Enhancing their
|
||||
legibility."
|
||||
:group 'doom-gruvbox-material-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-gruvbox-material-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to
|
||||
determine the exact padding."
|
||||
:group 'doom-gruvbox-material-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
(defcustom doom-gruvbox-material-background nil
|
||||
"Choose between \"soft\", \"medium\" and \"hard\" background contrast.
|
||||
Defaults to \"soft\""
|
||||
:group 'doom-gruvbox-material-theme
|
||||
:type 'string)
|
||||
|
||||
(defcustom doom-gruvbox-material-palette nil
|
||||
"Choose between \"material\", \"mix\" and \"original\" color palette.
|
||||
Defaults to \"material\""
|
||||
:group 'doom-gruvbox-material-theme
|
||||
:type 'string)
|
||||
|
||||
(defcustom doom-gruvbox-material-dired-height 1.15
|
||||
"Font height for dired buffers"
|
||||
:group 'doom-gruvbox-material-theme
|
||||
:type 'float)
|
||||
;; colors from
|
||||
;; https://github.com/sainnhe/gruvbox-material-vscode/tree/master/src/palette
|
||||
(cond
|
||||
((equal doom-gruvbox-material-background "hard")
|
||||
(setq gm/bg "#202020" ;; bg
|
||||
gm/bg-alt "#2a2827" ;; bg2
|
||||
gm/base0 "#131414" ;; bg1
|
||||
gm/base1 "#2a2827" ;; bg2
|
||||
gm/base2 "#2e2c2b" ;; bg3
|
||||
gm/base3 "#131414" ;; bg4
|
||||
gm/base4 "#32302f" ;; bg5
|
||||
gm/base5 "#46403d" ;; bg6
|
||||
gm/base6 "#514945" ;; bg7
|
||||
gm/base7 "#5a524c" ;; bg8
|
||||
gm/base8 "#7c6f64")) ;; grey0
|
||||
((equal doom-gruvbox-material-background "medium")
|
||||
(setq gm/bg "#292828" ;; bg
|
||||
gm/bg-alt "#32302f" ;; bg2
|
||||
gm/base0 "#1c1c1c" ;; bg1
|
||||
gm/base1 "#32302f" ;; bg2
|
||||
gm/base2 "#383432" ;; bg3
|
||||
gm/base3 "#3c3836" ;; bg4
|
||||
gm/base4 "#45403d" ;; bg5
|
||||
gm/base5 "#504945" ;; bg6
|
||||
gm/base6 "#5a524c" ;; bg7
|
||||
gm/base7 "#665c54" ;; bg8
|
||||
gm/base8 "#7c6f64")) ;; grey0
|
||||
(t
|
||||
(setq gm/bg "#181919" ;; bg
|
||||
gm/bg-alt "#3c3836" ;; bg2
|
||||
gm/base0 "#242424" ;; bg1
|
||||
gm/base1 "#3c3836" ;; bg2
|
||||
gm/base2 "#403c3a" ;; bg3
|
||||
gm/base3 "#45403d" ;; bg4
|
||||
gm/base4 "#504945" ;; bg5
|
||||
gm/base5 "#5a524c" ;; bg6
|
||||
gm/base6 "#665c54" ;; bg7
|
||||
gm/base7 "#7c6f64" ;; bg8
|
||||
gm/base8 "#7c6f64"))) ;; grey0
|
||||
|
||||
(cond
|
||||
((equal doom-gruvbox-material-palette "original")
|
||||
(setq gm/fg "#ebdbb2" ;; fg
|
||||
gm/fg-alt "#c9b99a" ;; fg1
|
||||
gm/red "#fb4934"
|
||||
gm/dark-red "#b85651" ;;dimRed
|
||||
gm/orange "#fe8019"
|
||||
gm/dark-orange "#bd6f3e" ;;dimOrange
|
||||
gm/green "#b8bb26"
|
||||
gm/dark-green "#8f9a52" ;;dimGreen
|
||||
gm/teal "#8ec07c" ;; aqua
|
||||
gm/dark-teal "#72966c" ;; dimAqua
|
||||
gm/yellow "#fabd2f"
|
||||
gm/dark-yellow "#c18f41" ;; dimYellow
|
||||
gm/blue "#83a598"
|
||||
gm/dark-blue "#68948a" ;; dimBlue
|
||||
gm/magenta "#d3869b" ;; purple
|
||||
gm/violet "#ab6c7d" ;; dimPurple
|
||||
gm/cyan "#8ec07c" ;; aqua
|
||||
gm/dark-cyan "#72966c")) ;; dimAqua
|
||||
((equal doom-gruvbox-material-palette "mix")
|
||||
(setq gm/fg "#e2cca9" ;; fg
|
||||
gm/fg-alt "#c5b18d" ;; fg1
|
||||
gm/red "#f2594b"
|
||||
gm/dark-red "#b85651" ;;dimRed
|
||||
gm/orange "#f28534"
|
||||
gm/dark-orange "#bd6f3e" ;;dimOrange
|
||||
gm/green "#b0b846"
|
||||
gm/dark-green "#8f9a52" ;;dimGreen
|
||||
gm/teal "#8bba7f" ;; aqua
|
||||
gm/dark-teal "#72966c" ;; dimAqua
|
||||
gm/yellow "#e9b143"
|
||||
gm/dark-yellow "#c18f41" ;; dimYellow
|
||||
gm/blue "#80aa9e"
|
||||
gm/dark-blue "#68948a" ;; dimBlue
|
||||
gm/magenta "#d3869b" ;; purple
|
||||
gm/violet "#ab6c7d" ;; dimPurple
|
||||
gm/cyan "#8bba7f" ;; aqua
|
||||
gm/dark-cyan "#72966c")) ;; dimAqua
|
||||
(t
|
||||
(setq gm/fg "#d4be98" ;; fg
|
||||
gm/fg-alt "#ddc7a1" ;; fg1
|
||||
gm/red "#ea6962"
|
||||
gm/dark-red "#b85651" ;; dimRed
|
||||
gm/orange "#e78a4e"
|
||||
gm/dark-orange "#bd6f3e" ;; dimOrange
|
||||
gm/green "#a9b665"
|
||||
gm/dark-green "#8f9a52" ;; dimGreen
|
||||
gm/teal "#89b482" ;; aqua
|
||||
gm/dark-teal "#72966c" ;; dimAqua
|
||||
gm/yellow "#d8a657"
|
||||
gm/dark-yellow "#c18f41" ;; dimYellow
|
||||
gm/blue "#7daea3"
|
||||
gm/dark-blue "#68948a" ;; dimBlue
|
||||
gm/magenta "#d3869b" ;; purple
|
||||
gm/violet "#ab6c7d" ;; dimPurple
|
||||
gm/cyan "#89b482" ;; aqua
|
||||
gm/dark-cyan "#72966c"))) ;; dimAqua
|
||||
|
||||
(def-doom-theme doom-gruvbox-material
|
||||
"A dark theme inspired by gruvbox material"
|
||||
;; name default 256 16
|
||||
((bg `(,gm/bg "#282828" nil ))
|
||||
(bg-alt `(,gm/bg-alt "#303030" nil ))
|
||||
(base0 `(,gm/base0 "black" "black" ))
|
||||
(base1 `(,gm/base1 "#121212" "brightblack" ))
|
||||
(base2 `(,gm/base2 "#2e2e2e" "brightblack" ))
|
||||
(base3 `(,gm/base3 "#262626" "brightblack" ))
|
||||
(base4 `(,gm/base4 "#3f3f3f" "brightblack" ))
|
||||
(base5 `(,gm/base5 "#585858" "brightblack" ))
|
||||
(base6 `(,gm/base6 "#6b6b6b" "brightblack" ))
|
||||
(base7 `(,gm/base7 "#979797" "brightblack" ))
|
||||
(base8 `(,gm/base8 "#767676" "white" ))
|
||||
(fg `(,gm/fg "#d7d7af" "brightwhite" ))
|
||||
(fg-alt `(,gm/fg-alt "#b2b2b2" "white" ))
|
||||
|
||||
(grey base8)
|
||||
(red `(,gm/red "#ea6962" "red" ))
|
||||
(dark-red `(,gm/dark-red "#ea6962" "red" ))
|
||||
(orange `(,gm/orange "#d7875f" "brightred" ))
|
||||
(dark-orange `(,gm/dark-orange "#d7875f" "brightred" ))
|
||||
(green `(,gm/green "#afd700" "green" ))
|
||||
(dark-green `(,gm/dark-green "#afd700" "green" ))
|
||||
(teal `(,gm/teal "#87d7af" "brightgreen" ))
|
||||
(dark-teal `(,gm/dark-teal "#87d7af" "brightgreen" ))
|
||||
(yellow `(,gm/yellow "#d7d787" "yellow" ))
|
||||
(dark-yellow `(,gm/dark-yellow "#d7d787" "yellow" ))
|
||||
(blue `(,gm/blue "#83a598" "brightblue" ))
|
||||
(dark-blue `(,gm/dark-blue "#87d7d7" "blue" ))
|
||||
(magenta `(,gm/magenta "#d3869b" "brightmagenta"))
|
||||
(violet `(,gm/violet "#a9a1e1" "magenta" ))
|
||||
(cyan `(,gm/cyan "#87d7af" "brightcyan" ))
|
||||
(dark-cyan `(,gm/dark-cyan "#87d7af" "cyan" ))
|
||||
|
||||
;; face categories -- required for all themes
|
||||
(highlight blue)
|
||||
(vertical-bar (doom-darken base1 0.1))
|
||||
(selection dark-blue)
|
||||
(builtin magenta)
|
||||
(comments (if doom-gruvbox-material-brighter-comments dark-cyan
|
||||
(doom-blend yellow base8 0.5)))
|
||||
(doc-comments (doom-darken (if doom-gruvbox-material-brighter-comments green green) 0.15))
|
||||
(constants violet)
|
||||
(functions cyan)
|
||||
(keywords (doom-darken dark-green 0.25))
|
||||
(methods cyan)
|
||||
(operators blue)
|
||||
(type orange)
|
||||
(strings green)
|
||||
(variables cyan)
|
||||
(numbers magenta)
|
||||
(region `(,(doom-lighten (car bg-alt) 0.15) ,@(doom-lighten (cdr base1) 0.35)))
|
||||
(error red)
|
||||
(warning yellow)
|
||||
(success green)
|
||||
(vc-modified orange)
|
||||
(vc-added green)
|
||||
(vc-deleted red)
|
||||
|
||||
;; custom categories
|
||||
(hidden `(,(car bg) "black" "black"))
|
||||
(-modeline-bright doom-gruvbox-material-brighter-modeline)
|
||||
(-modeline-pad
|
||||
(when doom-gruvbox-material-padded-modeline
|
||||
(if (integerp doom-gruvbox-material-padded-modeline) doom-gruvbox-material-padded-modeline 4)))
|
||||
|
||||
(modeline-fg fg)
|
||||
(modeline-fg-alt fg-alt)
|
||||
|
||||
(modeline-bg
|
||||
(if -modeline-bright
|
||||
(doom-darken blue 0.475)
|
||||
`(,(doom-darken (car bg-alt) 0.15) ,@(cdr base0))))
|
||||
(modeline-bg-l
|
||||
(if -modeline-bright
|
||||
(doom-darken blue 0.45)
|
||||
`(,(doom-darken (car bg-alt) 0.1) ,@(cdr base0))))
|
||||
(modeline-bg-inactive `(,(doom-darken (car bg-alt) 0.1) ,@(cdr bg-alt)))
|
||||
(modeline-bg-inactive-l `(,(car bg-alt) ,@(cdr base1))))
|
||||
|
||||
|
||||
;; --- extra faces ------------------------
|
||||
((elscreen-tab-other-screen-face :background "#353a42" :foreground "#1e2022")
|
||||
(evil-goggles-default-face :inherit 'region :background (doom-blend region bg 0.5))
|
||||
|
||||
((line-number &override) :foreground (doom-darken fg-alt 0.4))
|
||||
((line-number-current-line &override) :foreground fg)
|
||||
|
||||
(font-lock-comment-face
|
||||
:foreground comments
|
||||
:background (if doom-gruvbox-material-comment-bg (doom-lighten bg 0.05)))
|
||||
(font-lock-doc-face
|
||||
:inherit 'font-lock-comment-face
|
||||
:foreground doc-comments)
|
||||
|
||||
(mode-line
|
||||
:background modeline-bg :foreground modeline-fg
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive :foreground modeline-fg-alt
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if -modeline-bright base8 highlight))
|
||||
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-l
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-l)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-l
|
||||
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive-l)))
|
||||
|
||||
;; Doom modeline
|
||||
(doom-modeline-bar :background (if -modeline-bright modeline-bg highlight))
|
||||
(doom-modeline-buffer-file :inherit 'mode-line-buffer-id :weight 'bold)
|
||||
(doom-modeline-buffer-path :inherit 'mode-line-emphasis :weight 'bold)
|
||||
(doom-modeline-buffer-project-root :foreground blue :weight 'bold)
|
||||
|
||||
;; ivy-mode
|
||||
(ivy-current-match :background blue :distant-foreground base0 :weight 'bold)
|
||||
;; (ivy-current-match :foreground blue :background bg)
|
||||
(ivy-minibuffer-match-face-2 :foreground blue :background bg)
|
||||
|
||||
;; --- major-mode faces -------------------
|
||||
;; column indicator
|
||||
(fill-column-indicator :foreground bg-alt :background bg-alt)
|
||||
|
||||
;; css-mode / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground blue)
|
||||
|
||||
;; dired
|
||||
(diredfl-compressed-file-name :height doom-gruvbox-material-dired-height
|
||||
:foreground yellow)
|
||||
(diredfl-dir-heading :height doom-gruvbox-material-dired-height
|
||||
:foreground teal)
|
||||
(diredfl-dir-name :height doom-gruvbox-material-dired-height
|
||||
:foreground blue)
|
||||
(diredfl-deletion :height doom-gruvbox-material-dired-height
|
||||
:foreground red :background (doom-darken red 0.55))
|
||||
(diredfl-deletion-file-name :foreground red
|
||||
:background (doom-darken red 0.55))
|
||||
(diredfl-file-name :height doom-gruvbox-material-dired-height
|
||||
:foreground fg)
|
||||
(dired-flagged :height doom-gruvbox-material-dired-height
|
||||
:foreground red :background (doom-darken red 0.55))
|
||||
(diredfl-symlink :height doom-gruvbox-material-dired-height
|
||||
:foreground magenta)
|
||||
|
||||
;; eshell
|
||||
(+eshell-prompt-git-branch :foreground cyan)
|
||||
|
||||
;; evil
|
||||
(evil-ex-lazy-highlight :foreground bg :background yellow)
|
||||
(evil-snipe-first-match-face :foreground bg :background orange)
|
||||
|
||||
;; LaTeX-mode
|
||||
(font-latex-math-face :foreground dark-green)
|
||||
(font-latex-script-char-face :foreground dark-blue)
|
||||
|
||||
;; lsp
|
||||
(lsp-face-highlight-read :foreground fg-alt
|
||||
:background (doom-darken blue 0.6))
|
||||
(lsp-face-highlight-textual :foreground fg-alt
|
||||
:background (doom-darken blue 0.6))
|
||||
(lsp-face-highlight-write :foreground fg-alt
|
||||
:background (doom-darken blue 0.6))
|
||||
(lsp-lsp-flycheck-info-unnecessary-face
|
||||
:foreground (doom-lighten dark-yellow 0.12))
|
||||
|
||||
;; magit
|
||||
(magit-section-heading :foreground blue :weight 'bold)
|
||||
|
||||
;; markdown-mode
|
||||
(markdown-markup-face :foreground base5)
|
||||
(markdown-header-face :inherit 'bold :foreground blue)
|
||||
((markdown-code-face &override) :background (doom-lighten base3 0.05))
|
||||
|
||||
;; org-mode
|
||||
(org-hide :foreground hidden)
|
||||
(solaire-org-hide-face :foreground hidden)
|
||||
(org-document-info :foreground blue)
|
||||
(org-document-info-keyword :foreground dark-blue)
|
||||
(org-document-title :foreground blue)
|
||||
(org-block-begin-line :foreground dark-cyan
|
||||
:background bg-alt)
|
||||
(org-block-end-line :foreground dark-cyan
|
||||
:background bg-alt)
|
||||
(org-block :foreground fg :background bg-alt)
|
||||
(org-meta-line :foreground dark-cyan)
|
||||
(org-drawer :foreground dark-yellow)
|
||||
(org-level-1 :foreground magenta :weight 'semi-bold :height 1.4)
|
||||
(org-level-2 :foreground cyan :weight 'semi-bold :height 1.2)
|
||||
(org-level-3 :foreground green :weight 'semi-bold :height 1.1)
|
||||
(org-level-4 :foreground yellow :weight 'semi-bold)
|
||||
(org-level-5 :foreground violet :weight 'semi-bold)
|
||||
(org-level-6 :foreground dark-cyan :weight 'semi-bold)
|
||||
(org-level-7 :foreground dark-green :weight 'semi-bold)
|
||||
(org-level-8 :foreground dark-yellow :weight 'semi-bold)
|
||||
|
||||
;; rainbow and parenthesis
|
||||
(rainbow-delimiters-depth-1-face :foreground dark-orange)
|
||||
(rainbow-delimiters-depth-2-face :foreground violet)
|
||||
(rainbow-delimiters-depth-3-face :foreground dark-cyan)
|
||||
(rainbow-delimiters-depth-4-face :foreground dark-yellow)
|
||||
(rainbow-delimiters-unmatched-face: :foreground fg :background 'nil)
|
||||
(show-paren-match :foreground bg :background dark-red)
|
||||
|
||||
;; tree sitter
|
||||
(tree-sitter-hl-face:method.call :foreground cyan :weight 'semi-bold)
|
||||
|
||||
;; others
|
||||
(isearch :foreground bg :background violet)
|
||||
(selection :foreground bg-alt :background dark-orange)
|
||||
(company-tooltip-common-selection :foreground bg-alt :background dark-blue)
|
||||
)
|
||||
;; --- extra variables ---------------------
|
||||
()
|
||||
)
|
||||
|
||||
;;; doom-gruvbox-material-theme.el ends here
|
@ -1,2 +1,3 @@
|
||||
.config/doom/custom.el
|
||||
.config/ranger/colorschemes/__pycache__/*
|
||||
.local/bin*/*
|
||||
|
Binary file not shown.
@ -1,19 +1,50 @@
|
||||
! Dracula Xresources palette
|
||||
*.foreground: #F8F8F2
|
||||
*.background: #282A36
|
||||
*.color0: #000000
|
||||
*.color8: #4D4D4D
|
||||
*.color1: #FF5555
|
||||
*.color9: #FF6E67
|
||||
*.color2: #50FA7B
|
||||
*.color10: #5AF78E
|
||||
*.color3: #F1FA8C
|
||||
*.color11: #F4F99D
|
||||
*.color4: #BD93F9
|
||||
*.color12: #CAA9FA
|
||||
*.color5: #FF79C6
|
||||
*.color13: #FF92D0
|
||||
*.color6: #8BE9FD
|
||||
*.color14: #9AEDFE
|
||||
*.color7: #BFBFBF
|
||||
*.color15: #E6E6E6
|
||||
! Base16 Spacemacs
|
||||
! Scheme: Nasser Alshammari (https://github.com/nashamri/spacemacs-theme)
|
||||
|
||||
#define base00 #1f2022
|
||||
#define base01 #282828
|
||||
#define base02 #444155
|
||||
#define base03 #585858
|
||||
#define base04 #b8b8b8
|
||||
#define base05 #a3a3a3
|
||||
#define base06 #e8e8e8
|
||||
#define base07 #f8f8f8
|
||||
#define base08 #f2241f
|
||||
#define base09 #ffa500
|
||||
#define base0A #b1951d
|
||||
#define base0B #67b11d
|
||||
#define base0C #2d9574
|
||||
#define base0D #4f97d7
|
||||
#define base0E #a31db1
|
||||
#define base0F #b03060
|
||||
|
||||
*.foreground: base05
|
||||
*.background: base00
|
||||
*.cursorColor: base05
|
||||
|
||||
*.color0: base00
|
||||
*.color1: base08
|
||||
*.color2: base0B
|
||||
*.color3: base0A
|
||||
*.color4: base0D
|
||||
*.color5: base0E
|
||||
*.color6: base0C
|
||||
*.color7: base05
|
||||
|
||||
*.color8: base03
|
||||
*.color9: base08
|
||||
*.color10: base0B
|
||||
*.color11: base0A
|
||||
*.color12: base0D
|
||||
*.color13: base0E
|
||||
*.color14: base0C
|
||||
*.color15: base07
|
||||
|
||||
! Note: colors beyond 15 might not be loaded (e.g., xterm, urxvt),
|
||||
! use 'shell' template to set these if necessary
|
||||
*.color16: base09
|
||||
*.color17: base0F
|
||||
*.color18: base01
|
||||
*.color19: base02
|
||||
*.color20: base04
|
||||
*.color21: base06
|
||||
|
@ -0,0 +1,23 @@
|
||||
# /etc/skel/.bash_profile
|
||||
|
||||
# This file is sourced by bash for login shells. The following line
|
||||
# runs your .bashrc and is recommended by the bash info pages.
|
||||
if [[ -f ~/.bashrc ]] ; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
|
||||
if [[ -f ~/.bash_sources ]]; then
|
||||
. $HOME/.bash_sources
|
||||
fi
|
||||
if [[ -f ~/.bash_aliases ]] ; then
|
||||
. $HOME/.bash_aliases
|
||||
fi
|
||||
|
||||
if [[ -f ~/.localrc ]] ; then
|
||||
. $HOME/.localrc
|
||||
elif [[ -d "$HOME/.local/var/log" ]]; then
|
||||
echo "$HOME/.localrc not found. Have you created it yet?" | gawk '{ print strftime("[%Y-%m-%d %H:%M:%S]"), $0 }' >> ~/.local/var/log/localrc.log
|
||||
else
|
||||
mkdir -p ~/.local/var/log
|
||||
echo "$HOME/.localrc not found. Have you created it yet?" | gawk '{ print strftime("[%Y-%m-%d %H:%M:%S]"), $0 }' >> ~/.local/var/log/localrc.log
|
||||
fi
|
Loading…
Reference in New Issue