commit 832418088b517a09ba9afb73269cc3fd0ce46940
parent 7a6090b81508ae3bffb0370d52b815a9c96d643e
Author: mokou <mokou@posteo.de>
Date: Thu, 16 Apr 2020 23:18:56 +0200
Add doom config
Diffstat:
4 files changed, 432 insertions(+), 0 deletions(-)
diff --git a/dot_doom.d/config.el b/dot_doom.d/config.el
@@ -0,0 +1,42 @@
+;;; ~/.doom.d/config.el -*- lexical-binding: t; -*-
+
+(setq doom-theme 'deepsea)
+
+;; Set to 2 spaces
+(setq default-tab-width 2)
+(setq tab-width 2)
+(setq web-mode-markup-indent-offset 2)
+(setq web-mode-css-indent-offset 2)
+(setq web-mode-code-indent-offset 2)
+(setq js2-mode-hook
+ '(lambda () (progn
+ (set-variable 'js2-basic-offset 2))))
+(setq css-mode-hook
+ '(lambda () (progn
+ (set-variable 'css-indent-offset 2))))
+(setq typescript-mode-hook
+ '(lambda () (progn
+ (set-variable 'typescript-indent-level 2))))
+
+;; Maximize the window upon startup
+(add-to-list 'default-frame-alist '(fullscreen . maximized))
+
+(setq doom-font (font-spec :family "Cozette" :size 11))
+
+(when (memq window-system '(mac ns x))
+ (exec-path-from-shell-initialize))
+
+;; Make Monky communicate via cmdserver
+(setq monky-process-type 'cmdserver)
+
+;; Map SPC-g-h to monky-status
+(map! :map magit-mode-map :leader "g h" 'monky-status)
+
+;; Enable Mercurial support for git-gutter
+(setq git-gutter:handled-backends '(git hg))
+
+;; Set Org directory
+(setq org-directory "~/Org")
+
+;; Enable editorconfig
+(editorconfig-mode 1)
diff --git a/dot_doom.d/init.el b/dot_doom.d/init.el
@@ -0,0 +1,181 @@
+;;; init.el -*- lexical-binding: t; -*-
+
+;; Copy this file to ~/.doom.d/init.el or ~/.config/doom/init.el ('doom
+;; quickstart' will do this for you). The `doom!' block below controls what
+;; modules are enabled and in what order they will be loaded. Remember to run
+;; 'doom refresh' after modifying it.
+;;
+;; More information about these modules (and what flags they support) can be
+;; found in modules/README.org.
+
+(doom! :input
+ ;;chinese
+ ;;japanese
+
+ :completion
+ company
+ ;;helm
+ ;;ido
+ ivy
+
+ :ui
+ ;;deft
+ doom
+ ;;doom-dashboard
+ ;; doom-quit
+ ;;fill-column
+ hl-todo
+ ;;indent-guides
+ modeline
+ nav-flash
+ ;;neotree
+ ophints
+ (popup
+ +all
+ +defaults)
+ ;;pretty-code
+ ;;tabbar
+ treemacs
+ ;;unicode
+ vc-gutter
+ vi-tilde-fringe
+ window-select
+ workspaces
+
+ :editor
+ (evil +everywhere)
+ ;; file-templates
+ fold
+ ;;(format +onsave)
+ ;;lispy
+ ;;multiple-cursors
+ ;;objed
+ ;;parinfer
+ rotate-text
+ snippets
+
+ :emacs
+ (dired
+ ;;+ranger
+ ;;+icons
+ )
+ electric
+ vc
+
+ :term
+ ;;eshell
+ ;;shell
+ ;;term
+ ;;vterm
+
+ :tools
+ ;;ansible
+ ;;debugger
+ ;;direnv
+ ;;docker
+ ;;editorconfig
+ ;;ein
+ eval
+ flycheck
+ ;;flyspell
+ ;;gist
+ (lookup
+ +docsets)
+ lsp
+ ;;macos
+ magit
+ ;;make
+ ;;pass
+ ;;pdf
+ ;;prodigy
+ ;;rgb
+ ;;terraform
+ ;;tmux
+ ;;upload
+ ;;wakatime
+
+ :lang
+ ;;agda
+ ;;assembly
+ ;;cc
+ clojure
+ ;;common-lisp
+ ;;coq
+ ;;crystal
+ ;;csharp
+ data
+ ;;erlang
+ elixir
+ ;;elm
+ emacs-lisp
+ ;;ess
+ ;;fsharp
+ ;;go
+ ;;(haskell +intero)
+ ;;hy
+ ;;idris
+ ;;(java +meghanada)
+ javascript
+ ;;julia
+ ;;kotlin
+ ;;latex
+ ;;ledger
+ ;;lua
+ markdown
+ nim
+ ;;nix
+ ;;ocaml
+ (org
+ +dragndrop
+ +ipython
+ +pandoc
+ +present)
+ ;;perl
+ ;;php
+ ;;plantuml
+ ;;purescript
+ ;;python
+ ;;qt
+ ;;racket
+ ;;rest
+ ;;ruby
+ (rust +lsp)
+ ;;scala
+ ;;scheme
+ sh
+ ;;solidity
+ ;;swift
+ ;;terra
+ web
+ ;;vala
+
+ :email
+ ;;(mu4e +gmail)
+ ;;notmuch
+ ;;(wanderlust +gmail)
+
+ ;; Applications are complex and opinionated modules that transform Emacs
+ ;; toward a specific purpose. They may have additional dependencies and
+ ;; should be loaded late.
+ :app
+ ;;calendar
+ ;;irc
+ ;;(rss +org)
+ ;;twitter
+ ;;(write
+ ;; +wordnut
+ ;; +langtool)
+
+ :collab
+ ;;floobits
+ ;;impatient-mode
+
+ :config
+ ;; For literate config users. This will tangle+compile a config.org
+ ;; literate config in your `doom-private-dir' whenever it changes.
+ ;;literate
+
+ ;; The default module sets reasonable defaults for Emacs. It also
+ ;; provides a Spacemacs-inspired keybinding scheme and a smartparens
+ ;; config. Use it as a reference for your own modules.
+ (default +bindings +smartparens))
diff --git a/dot_doom.d/packages.el b/dot_doom.d/packages.el
@@ -0,0 +1,12 @@
+;; -*- no-byte-compile: t; -*-
+;;; ~/.doom.d/packages.el
+
+;;; Examples:
+;; (package! some-package)
+;; (package! another-package :recipe (:fetcher github :repo "username/repo"))
+;; (package! builtin-package :disable t)
+(package! monky)
+(package! kaolin-themes)
+(package! exec-path-from-shell)
+(package! editorconfig)
+(package! autothemer)
diff --git a/dot_doom.d/themes/deepsea-theme.el b/dot_doom.d/themes/deepsea-theme.el
@@ -0,0 +1,197 @@
+;;; deepsea.el --- Deep dark theme -*- no-byte-compile: t; -*-
+(require 'doom-themes)
+
+;;; Variables
+(defgroup doom-solarized-dark-theme nil
+ "Options for doom-themes"
+ :group 'doom-themes)
+
+(defcustom doom-solarized-dark-brighter-modeline nil
+ "If non-nil, more vivid colors will be used to style the mode-line."
+ :group 'doom-solarized-dark-theme
+ :type 'boolean)
+
+(defcustom doom-solarized-dark-brighter-comments nil
+ "If non-nil, comments will be highlighted in more vivid colors."
+ :group 'doom-solarized-dark-theme
+ :type 'boolean)
+
+(defcustom doom-solarized-dark-comment-bg doom-solarized-dark-brighter-comments
+ "If non-nil, comments will have a subtle, darker background. Enhancing their
+legibility."
+ :group 'doom-solarized-dark-theme
+ :type 'boolean)
+
+(defcustom doom-solarized-dark-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-solarized-dark-theme
+ :type '(choice integer boolean))
+
+
+;;; Theme definition
+(def-doom-theme deepsea
+ "A dark theme"
+
+;;;; Colors
+ ;; name default 256 16
+ ((bg '("#004043" "color-233" "black" ))
+ (bg-alt '("#004043" "color-232" "brightblack" ))
+(base0 '("#073642" "black" "black" ))
+ (base1 '("#03282F" "#1e1e1e" "brightblack" ))
+ (base2 '("#00212C" "#2e2e2e" "brightblack" ))
+ (base3 '("#13383C" "#262626" "brightblack" ))
+ (base4 '("#56697A" "#3f3f3f" "brightblack" ))
+ (base5 '("#405A61" "#525252" "brightblack" ))
+ (base6 '("#96A7A9" "#6b6b6b" "brightblack" ))
+ (base7 '("#788484" "#979797" "brightblack" ))
+ (base8 '("#626C6C" "#dfdfdf" "white" ))
+ (fg-alt '("#657b83" "#2d2d2d" "white" ))
+ (fg '("#069993" "#bfbfbf" "brightwhite" ))
+
+ (grey base4)
+ (red '("#dc322f" "#ff6655" "red" ))
+ (orange '("#cb4b16" "#dd8844" "brightred" ))
+ (green '("#859900" "#99bb66" "green" ))
+ (teal '("#35a69c" "#33aa99" "brightgreen" ))
+ (yellow '("#b58900" "#ECBE7B" "yellow" ))
+ (blue '("#268bd2" "#51afef" "brightblue" ))
+ (dark-blue '("#3F88AD" "#2257A0" "blue" ))
+ (magenta '("#d33682" "#c678dd" "magenta" ))
+ (violet '("#6c71c4" "#a9a1e1" "brightmagenta"))
+ (cyan '("#2aa198" "#46D9FF" "brightcyan" ))
+ (dark-cyan '("#204052" "#5699AF" "cyan" ))
+
+ ;; face categories -- required for all themes
+ (highlight blue)
+ (vertical-bar (doom-darken base1 0.5))
+ (selection dark-blue)
+ (builtin blue)
+ (comments (if doom-solarized-dark-brighter-comments blue base5))
+ (doc-comments teal)
+ (constants magenta)
+ (functions blue)
+ (keywords green)
+ (methods cyan)
+ (operators orange)
+ (type yellow)
+ (strings cyan)
+ (variables violet)
+ (numbers magenta)
+ (region base0)
+ (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-solarized-dark-brighter-modeline)
+ (-modeline-pad
+ (when doom-solarized-dark-padded-modeline
+ (if (integerp doom-solarized-dark-padded-modeline) doom-solarized-dark-padded-modeline 4)))
+
+ (modeline-fg nil)
+ (modeline-fg-alt base5)
+
+ (modeline-bg
+ (if -modeline-bright
+ base3
+ `(,(doom-darken (car bg) 0.15) ,@(cdr base0))))
+ (modeline-bg-l
+ (if -modeline-bright
+ base3
+ `(,(doom-darken (car bg) 0.1) ,@(cdr base0))))
+ (modeline-bg-inactive (doom-darken bg 0.1))
+ (modeline-bg-inactive-l `(,(car bg) ,@(cdr base1))))
+
+
+ ;; --- extra faces ------------------------
+ ((company-tooltip-selection :background dark-cyan)
+ (elscreen-tab-other-screen-face :background "#353a42" :foreground "#1e2022")
+
+ ((line-number &override) :foreground base4)
+ ((line-number-current-line &override) :foreground fg)
+
+ (helm-selection :inherit 'bold
+ :background selection
+ :distant-foreground bg
+ :extend t)
+
+ (font-lock-comment-face
+ :foreground comments
+ :background (if doom-solarized-dark-comment-bg (doom-lighten bg 0.05)))
+ (font-lock-doc-face
+ :inherit 'font-lock-comment-face
+ :foreground doc-comments)
+ (font-lock-keyword-face
+ :weight 'bold
+ :foreground keywords)
+ (font-lock-constant-face
+ :weight 'bold
+ :foreground constants)
+
+ ;; Centaur tabs
+ (centaur-tabs-active-bar-face :background blue)
+ (centaur-tabs-modified-marker-selected :inherit 'centaur-tabs-selected
+ :foreground blue)
+ (centaur-tabs-modified-marker-unselected :inherit 'centaur-tabs-unselected
+ :foreground blue)
+ ;; Doom modeline
+ (doom-modeline-bar :background blue)
+
+ (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)))
+
+ (tooltip :background bg-alt :foreground fg)
+ ;; --- major-mode faces -------------------
+ ;; css-mode / scss-mode
+ (css-proprietary-property :foreground orange)
+ (css-property :foreground green)
+ (css-selector :foreground blue)
+
+ ;; markdown-mode
+ (markdown-markup-face :foreground base5)
+ (markdown-header-face :inherit 'bold :foreground red)
+ (markdown-url-face :foreground teal :weight 'normal)
+ (markdown-reference-face :foreground base6)
+ ((markdown-bold-face &override) :foreground fg)
+ ((markdown-italic-face &override) :foreground fg-alt)
+
+ ;; outline (affects org-mode)
+ ((outline-1 &override) :foreground blue)
+ ((outline-2 &override) :foreground green)
+ ((outline-3 &override) :foreground teal)
+ ((outline-4 &override) :foreground (doom-darken blue 0.2))
+ ((outline-5 &override) :foreground (doom-darken green 0.2))
+ ((outline-6 &override) :foreground (doom-darken teal 0.2))
+ ((outline-7 &override) :foreground (doom-darken blue 0.4))
+ ((outline-8 &override) :foreground (doom-darken green 0.4))
+
+ ;; org-mode
+ ((org-block &override) :background base0)
+ ((org-block-begin-line &override) :foreground comments :background base0)
+ (org-hide :foreground hidden)
+ (solaire-org-hide-face :foreground hidden))
+ ;; --- extra variables ---------------------
+ ;; ()
+ )
+
+;;; doom-solarized-dark-theme.el ends here