Bladeren bron

Happy new year.

- Switch from Gruvbox to NANO
- Changed an outdated variable to an actually used one.
- Removed old stuff I don't need anymore.
Eiyeron Fulmicendii 1 jaar geleden
bovenliggende
commit
f3c719024f
4 gewijzigde bestanden met toevoegingen van 1491 en 72 verwijderingen
  1. 42 32
      config.org
  2. 51 40
      init.el
  3. 700 0
      themes/doom-nano-dark-theme.el
  4. 698 0
      themes/doom-nano-light-theme.el

+ 42 - 32
config.org

@@ -33,6 +33,12 @@ change done. I'm directly stealing it from the example provided by Doom Emacs.
 ;;; .doom.d/packages.el
 #+end_src
 ** TODO The packages
+*** TODO Doom NANO
+#+BEGIN_SRC emacs-lisp
+(package! doom-nano-modeline
+  :recipe (:host github
+           :repo "ronisbr/doom-nano-modeline"))
+#+END_SRC
 *** Vterm
 It's rather solid for a terminal emulator. Too bad it doesn't seem to work on
 Windows. (Actually I haven't tried so hard, I just don't always have the time to
@@ -142,20 +148,31 @@ useful to diagnose long configuration setting in my configuration.
 #+end_src
 
 * Look and Feel
+** TODO Doom NANO
+#+BEGIN_SRC emacs-lisp
+(use-package! doom-nano-modeline
+  :config
+  (doom-nano-modeline-mode 1)
+  (global-hide-mode-line-mode 1)
+  (setq default-frame-alist
+        (append (list
+                 '(min-height . 1)
+                 '(height     . 45)
+                 '(min-width  . 1)
+                 '(width      . 81)
+                 '(vertical-scroll-bars . nil)
+                 '(internal-border-width . 16)
+                 '(left-fringe    . 1)
+                 '(right-fringe   . 1)
+                 '(tool-bar-lines . 0)
+                 '(menu-bar-lines . 0)))))
+#+END_SRC
 ** The colors
-Lately, I have been partial towards Gruvbox, for multiple reasons, the first
-being that I was tired of all those blue themes. It's a warm colorscheme, it has
-a good contrast in most of the situations and I built my whole's old laptop UI
-based on Gruvbox. Good thing Doom Emacs has a preset for this specific
-colorscheme.
+It's 2024, my Emacs config needs a small refresh, so I'll be using rougier's
+NANO theme for a while.
 #+BEGIN_SRC emacs-lisp
-(setq doom-theme 'doom-gruvbox)
-
-(add-to-list 'custom-safe-themes
-             ;; Gruvbox-light
-             "ff984792cce90b274d29d59e63c8a51ce91ff0ab01d6504f7d407ef545aa1a82"
-             ;; Gruvbox-dark
-             "8141c11fa933b60d4ae77bd74187d7ff8a510c3237515a68c79cf997277bd3b4")
+(after! doom-themes
+  (load-theme 'doom-nano-dark t))
 #+END_SRC
 ** The fonts
 The other basic configuration I usually do first too is setting a font.
@@ -176,7 +193,7 @@ when needed.
 #+end_src
 Now the font proper selection
 #+BEGIN_SRC emacs-lisp
-(let ((base-size 10)
+(let ((base-size 14)
       (code-font (chicken/select-first-available-font
                   '("PragmataPro Mono Liga"
                     "PragmataPro Liga"
@@ -194,13 +211,12 @@ Now the font proper selection
                         "Iosevka SS08 Extended"
                         "InputSansCompressed"
                         "Segoe UI")))
-      (unicode-font (chicken/select-first-available-font
+      (symbol-font (chicken/select-first-available-font
                      '("PragmataPro Liga"
                        "PragmataPro"
                        "Segoe Color Emoji"
                        "InputMonoCompressed"
                        "Iosevka Custom"
-                       ;;"Iosevka SS08 Light"
                        "Iosevka SS08"
                        "Iosevka"
                        "Segoe UI")))
@@ -213,8 +229,8 @@ Now the font proper selection
         (font-spec :family code-font :size base-size)
         doom-variable-pitch-font
         (font-spec :family variable-font :size base-size)
-        doom-unicode-font
-        (font-spec :family unicode-font :size base-size)
+        doom-symbol-font
+        (font-spec :family symbol-font :size base-size)
         doom-big-font
         (font-spec :family code-font :size (* base-size 2))
         doom-serif-font
@@ -235,10 +251,14 @@ add specific replacements (like ~lambda → λ~ ).
 *** TODO Implement a font switch on light/dark theme switch
 Gruvbox-light doesn't need a font as think as its dark alternative.
 *** TODO Visual tweaks
+I need to factorize the way I select the fonts so I can use them here too.
 #+begin_src emacs-lisp
 (custom-set-faces!
   '(line-number :slant italic)
-  '(org-quote :inherit fixed-pitch-serif))
+  '(org-default :inherit default :family "Iosevka Extended Slab")
+  '(org-quote :inherit default :family "Iosevka Extended Slab")
+  '(org-code :inherit default :family "PragmataPro Mono Liga")
+  '(org-block :inherit default :family "PragmataPro Mono Liga"))
 #+end_src
 ***  Extra ligatures
 #+begin_src emacs-lisp
@@ -266,15 +286,6 @@ visual noise.
       (setq doom-modeline-unicode-fallback t)))
   (setq doom-modeline-height 16))
 #+END_SRC
-*** Showing the battery
-
-I'm still using a laptop to type some text sometimes. Due to using the
-fullscreen mode a lot, let's enable the battery modeline blob when available.
-
-#+begin_src emacs-lisp
-(after! doom-modeline
-  (display-battery-mode 't))
-#+end_src
 * Python
 ** Python-x
 Python-x allows me to have the same cell-based workflow than on Jupter or
@@ -522,10 +533,6 @@ Here's some keybindings vaguely inspired from my experience with Spacemacs.
      ("n" "Personal notes" entry
       (file+headline +org-capture-notes-file "Inbox")
       "* %u %?\n%i\n%a" :prepend t)
-     ;; ("j" "Journal" entry
-     ;;  (file+olp+datetree +org-capture-journal-file)
-     ;;  "* %U %?\n%i\n%a" :prepend t)
-
      ("p" "Templates for projects")
      ("pt" "Project-local todo" entry
       (file+headline +org-capture-project-todo-file "Inbox")
@@ -559,7 +566,10 @@ Yay $\LaTeX$!
 (use-package! org-fragtog
   :after org
   :config
-  (add-hook 'org-mode-hook #'org-fragtog-mode))
+  (add-hook 'org-mode-hook #'org-fragtog-mode)
+  (add-hook 'org-mode-hook (lambda() (
+                                 ;;((plist-put org-format-latex-options :scale 1.0))
+                                 ))))
 #+end_src
 ** TODO valign
 [[https://github.com/casouri/valign][Valign]] is an org-mode plugin that overlays tables to draw them with

+ 51 - 40
init.el

@@ -4,8 +4,8 @@
 ;; in. Remember to run 'doom sync' after modifying it!
 
 ;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
-;;      documentation. There you'll find a "Module Index" link where you'll find
-;;      a comprehensive list of Doom's modules and what flags they support.
+;;      documentation. There you'll find a link to Doom's Module Index where all
+;;      of our modules are listed, including what flags they support.
 
 ;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
 ;;      'C-c c k' for non-vim users) to view its documentation. This works on
@@ -15,42 +15,44 @@
 ;;      directory (for easy access to its source code).
 
 (doom! :input
+       ;;bidi              ; (tfel ot) thgir etirw uoy gnipleh
        ;;chinese
        ;;japanese
+       ;;layout            ; auie,ctsrnm is the superior home row
 
        :completion
        company           ; the ultimate code completion backend
        ;;helm              ; the *other* search engine for love and life
        ;;ido               ; the other *other* search engine...
-       ivy               ; a search engine for love and life
+       ;;ivy               ; a search engine for love and life
+       vertico           ; the search engine of the future
 
        :ui
        ;;deft              ; notational velocity for Emacs
        doom              ; what makes DOOM look the way it does
        doom-dashboard    ; a nifty splash screen for Emacs
-       doom-quit         ; DOOM quit-message prompts when you quit Emacs
-       ;;fill-column       ; a `fill-column' indicator
+       ;;doom-quit         ; DOOM quit-message prompts when you quit Emacs
+       (emoji +unicode)  ; 🙂
        hl-todo           ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
        ;;hydra
        ;;indent-guides     ; highlighted indent columns
+       (ligatures         ; ligatures and symbols to make your code pretty again
+        +pragmata-pro
+        +extra)
        ;;minimap           ; show a map of the code on the side
-       modeline          ; snazzy, Atom-inspired modeline, plus API
+       ;; modeline          ; snazzy, Atom-inspired modeline, plus API
        ;;nav-flash         ; blink cursor line after big motions
        ;;neotree           ; a project drawer, like NERDTree for vim
        ophints           ; highlight the region an operation acts on
        (popup +defaults)   ; tame sudden yet inevitable temporary windows
-       (ligatures       ; ligatures and symbols to make your code pretty again
-        +pragmata-pro
-        +extra)
-
-       ;;tabs              ; an tab bar for Emacs
+       ;;tabs              ; a tab bar for Emacs
        treemacs          ; a project drawer, like neotree but cooler
        ;;unicode           ; extended unicode support for various languages
-       vc-gutter         ; vcs diff in the fringe
+       (vc-gutter +pretty) ; vcs diff in the fringe
        vi-tilde-fringe   ; fringe tildes to mark beyond EOB
        ;;window-select     ; visually switch windows
        workspaces        ; tab emulation, persistence & separate workspaces
-       ;;zen               ; distraction-free coding or writing
+       zen               ; distraction-free coding or writing
 
        :editor
        (evil +everywhere); come to the dark side, we have cookies
@@ -81,11 +83,13 @@
 
        :checkers
        syntax              ; tasing you for every semicolon you forget
-       ;;spell             ; tasing you for misspelling mispelling
+       ;;(spell +flyspell) ; tasing you for misspelling mispelling
        ;;grammar           ; tasing grammar mistake every you make
-      
+
        :tools
        ;;ansible
+       ;;biblio            ; Writes a PhD for you (citation needed)
+       ;;collab            ; buffers with friends
        ;;debugger          ; FIXME stepping through code, to help you add bugs
        ;;direnv
        ;;docker
@@ -94,8 +98,7 @@
        (eval +overlay)     ; run code, run (also, repls)
        ;;gist              ; interacting with github gists
        lookup              ; navigate your code and its documentation
-       lsp
-       ;;macos             ; MacOS-specific commands
+       lsp               ; M-x vscode
        magit             ; a git porcelain for Emacs
        ;;make              ; run make tasks from Emacs
        ;;pass              ; password manager for nerds
@@ -105,67 +108,72 @@
        ;;taskrunner        ; taskrunner for all your projects
        ;;terraform         ; infrastructure as code
        ;;tmux              ; an API for interacting with tmux
+       ;;tree-sitter       ; syntax and parsing, sitting in a tree...
        ;;upload            ; map local to remote projects via ssh/ftp
 
+       :os
+       (:if IS-MAC macos)  ; improve compatibility with macOS
+       ;;tty               ; improve the terminal Emacs experience
+
        :lang
        ;;agda              ; types of types of types of types...
-       cc                ; C/C++/Obj-C madness
+       ;;beancount         ; mind the GAAP
+       (cc +lsp)         ; C > C++ == 1
        ;;clojure           ; java with a lisp
        ;;common-lisp       ; if you've seen one lisp, you've seen them all
        ;;coq               ; proofs-as-programs
        ;;crystal           ; ruby at the speed of c
-       ;; csharp            ; unity, .NET, and mono shenanigans
+       ;;csharp            ; unity, .NET, and mono shenanigans
        data              ; config/data formats
        ;;(dart +flutter)   ; paint ui and not much else
+       ;;dhall
        ;;elixir            ; erlang done right
        ;;elm               ; care for a cup of TEA?
        emacs-lisp        ; drown in parentheses
        ;;erlang            ; an elegant language for a more civilized age
        ;;ess               ; emacs speaks statistics
+       ;;factor
        ;;faust             ; dsp, but you get to keep your soul
-       ;;fsharp           ; ML stands for Microsoft's Language
+       ;;fortran           ; in FORTRAN, GOD is REAL (unless declared INTEGER)
+       ;;fsharp            ; ML stands for Microsoft's Language
        ;;fstar             ; (dependent) types and (monadic) effects and Z3
        ;;gdscript          ; the language you waited for
        ;;(go +lsp)         ; the hipster dialect
-       ;;(haskell +dante)  ; a language that's lazier than I am
+       ;;(graphql +lsp)    ; Give queries a REST
+       ;;(haskell +lsp)    ; a language that's lazier than I am
        ;;hy                ; readability of scheme w/ speed of python
-       ;;idris             ;
+       ;;idris             ; a language you can depend on
        ;;json              ; At least it ain't XML
-       ;;(java +meghanada) ; the poster child for carpal tunnel syndrome
+       ;;(java +lsp)       ; the poster child for carpal tunnel syndrome
        ;;javascript        ; all(hope(abandon(ye(who(enter(here))))))
        ;;julia             ; a better, faster MATLAB
        ;;kotlin            ; a better, slicker Java(Script)
        ;;latex             ; writing papers in Emacs has never been so fun
-       ;;lean
-       ;;factor
-       ;;ledger            ; an accounting system in Emacs
+       ;;lean              ; for folks with too much to prove
+       ;;ledger            ; be audit you can be
        lua               ; one-based indices? one-based indices
        markdown          ; writing docs for people to ignore
        ;;nim               ; python + lisp at the speed of c
        ;;nix               ; I hereby declare "nix geht mehr!"
        ;;ocaml             ; an objective camel
-       (org              ; organize your plain life in plain text
-        +brain           ; A chicken brain, aren't you
-        +dragndrop       ; drag & drop files/images into org buffers
-        ;;+hugo            ; use Emacs for hugo blogging
-        +jupyter         ; ipython/jupyter support for babel
-        +pandoc          ; export-with-pandoc support
-        ;;+pomodoro        ; be fruitful with the tomato technique
-        ;;+present)        ; using org-mode for presentations
-        )
-       ;;perl              ; write code no one else can comprehend
+       (org               ; organize your plain life in plain text
+        +brain
+        +dragndrop
+        +jupyter
+        +pandoc)
        ;;php               ; perl's insecure younger brother
        ;;plantuml          ; diagrams for confusing people more
        ;;purescript        ; javascript, but functional
        python            ; beautiful is better than ugly
-       ;;qt                ; the 'cutest' gui framework ever
+       qt                ; the 'cutest' gui framework ever
        ;;racket            ; a DSL for DSLs
+       ;;raku              ; the artist formerly known as perl6
        ;;rest              ; Emacs as a REST client
        ;;rst               ; ReST in peace
        ;;(ruby +rails)     ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
-       (rust +lsp)              ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
+       (rust +lsp)       ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
        ;;scala             ; java, but good
-       ;;scheme            ; a fully conniving family of lisps
+       ;;(scheme +guile)   ; a fully conniving family of lisps
        sh                ; she sells {ba,z,fi}sh shells on the C xor
        ;;sml
        ;;solidity          ; do you need a blockchain? No.
@@ -173,14 +181,17 @@
        ;;terra             ; Earth and Moon in alignment for performance.
        ;;web               ; the tubes
        ;;yaml              ; JSON, but readable
+       ;;zig               ; C, but simpler
 
        :email
-       ;;(mu4e +gmail)
+       ;;(mu4e +org +gmail)
        ;;notmuch
        ;;(wanderlust +gmail)
 
        :app
        calendar
+       ;;emms
+       ;;everywhere        ; *leave* Emacs!? You must be joking
        ;;irc               ; how neckbeards socialize
        ;;(rss +org)        ; emacs as an RSS reader
        ;;twitter           ; twitter client https://twitter.com/vnought

+ 700 - 0
themes/doom-nano-dark-theme.el

@@ -0,0 +1,700 @@
+;;; doom-nano-dark-theme.el --- Dark theme for Doom Emacs based on N Λ N O -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2023  Ronan Arraes Jardim Chagas
+;;
+;; This package is the implementation of N Λ N O theme by Nicolas P. Rougier
+;; <Nicolas.Rougier@inria.fr> using doom-themes framework.
+;;
+;; Author           : Ronan Arraes Jardim Chagas
+;; Created          : February 2023
+;; Keywords         : mode-line, header-line
+;; Package-Requires : ((emacs "28") (doom-themes "2"))
+;; URL              : https://github.com/ronisbr/doom-nano-themes/
+;; Version          : 0.2.3
+;;
+;;; Usage:
+;; 1. Copy this file to `~/.doom.d/themes/' or `~/.config/doom/themes/`.
+;; 2. Load the theme using `(setq doom-theme 'doom-nano-dark)'.
+;;
+;;; License:
+;; Permission is hereby granted, free of charge, to any person obtaining
+;; a copy of this software and associated documentation files (the
+;; "Software"), to deal in the Software without restriction, including
+;; without limitation the rights to use, copy, modify, merge, publish,
+;; distribute, sublicense, and/or sell copies of the Software, and to
+;; permit persons to whom the Software is furnished to do so, subject to
+;; the following conditions:
+;;
+;; The above copyright notice and this permission notice shall be
+;; included in all copies or substantial portions of the Software.
+;;
+;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+;; FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+;; THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+;;
+;;; Commentary:
+;; This package provides a dark theme for Doom Emacs based on N Λ N O.
+
+;;; Code:
+
+(defgroup doom-nano-dark-theme nil
+  "Options for the `doom-nano-dark' theme."
+  :group 'doom-themes)
+
+(defcustom doom-nano-dark-theme-highlight-tab-whitespaces nil
+  "If non-nil, the tab whitespaces will be highlighted."
+  :group 'doom-nano-dark-theme
+  :type 'boolean)
+
+(def-doom-theme doom-nano-dark
+  "A dark theme for Doom Emacs based on N Λ N O."
+
+  (;; Colors defined by N Λ N O theme. Some colors for the 256 and 16 modes were
+   ;; obtained from the Doom Nord theme.
+   (nano-foreground '("#ECEFF4" "#ECECEC" "white"))
+   (nano-background '("#2E3440" "#2E2E2E" "black"))
+   (nano-highlight  '("#3B4252" "#262626" "brightblack"))
+   (nano-subtle     '("#434C5E" "#3F3F3F" "brightblack"))
+   (nano-faded      '("#677691" "#5699AF" "cyan"))
+   (nano-salient    '("#81A1C1" "#51AFEF" "brightblue"))
+   (nano-strong     '("#FFFFFF" "#FFFFFF" "brightwhite"))
+   (nano-popout     '("#D08770" "#DD8844" "brightred"))
+   (nano-critical   '("#EBCB8B" "#ECBE7B" "yellow"))
+
+   ;; Required colors for a Doom theme.
+   (bg             nano-background)
+   (fg             nano-foreground)
+
+   (bg-alt         nano-highlight)
+   (fg-alt         nano-foreground)
+
+   (base0          '("#191C25" "black"   "black"        ))
+   (base1          '("#242832" "#1E1E1E" "brightblack"  ))
+   (base2          '("#2C333F" "#2E2E2E" "brightblack"  ))
+   (base3          '("#373E4C" "#262626" "brightblack"  ))
+   (base4          '("#434C5E" "#3F3F3F" "brightblack"  ))
+   (base5          '("#4C566A" "#525252" "brightblack"  ))
+   (base6          '("#9099AB" "#6B6B6B" "brightblack"  ))
+   (base7          '("#D8DEE9" "#979797" "brightblack"  ))
+   (base8          '("#F0F4FC" "#DFDFDF" "white"        ))
+
+   (bright-blue    '("#BBDEFB" "#BBDEFB" "brightblue"))
+   (bright-cyan    '("#B2EBF2" "#B2EBF2" "brightcyan"))
+   (bright-green   '("#C8E6C9" "#C8E6C9" "brightgreen"))
+   (bright-magenta '("#E1BEE7" "#E1BEE7" "brightmagenta"))
+   (bright-red     '("#FFCDD2" "#FFCDD2" "brightred"))
+   (bright-white   nano-background)
+   (bright-yellow  '("#FFF9C4" "#FFF9C4" "brightyellow"))
+
+   (blue           '("#42A5F5" "#42A5F5" "blue"))
+   (cyan           '("#26C6DA" "#26C6DA" "cyan"))
+   (dark-blue      '("#A0BCF8" "#A0BCF8" "blue"))
+   (dark-cyan      '("#005478" "#005478" "cyan"))
+   (green          '("#66BB6A" "#66BB6A" "green"))
+   (grey           base4)
+   (magenta        '("#AB47BC" "#AB47BC" "magenta"))
+   (orange         '("#DA8548" "#DD8844" "brightred"))
+   (red            '("#EF5350" "#EF5350" "red"))
+   (teal           '("#4DB5BD" "#44B9B1" "brightgreen"))
+   (violet         '("#B751B6" "#B751B6" "brightmagenta"))
+   (white           nano-subtle)
+   (yellow         '("#FFEE58" "#FFEE58" "yellow"))
+
+   (highlight      nano-highlight)
+   (vertical-bar   nano-background)
+   (selection      nano-subtle)
+   (builtin        nano-salient)
+   (comments       nano-faded)
+   (doc-comments   nano-faded)
+   (constants      nano-salient)
+   (functions      nano-strong)
+   (keywords       nano-salient)
+   (methods        nano-strong)
+   (operators      nano-salient)
+   (type           nano-salient)
+   (strings        nano-faded)
+   (variables      nano-salient)
+   (numbers        nano-salient)
+   (region         nano-subtle)
+   (error          nano-critical)
+   (warning        nano-popout)
+   (success        nano-salient)
+   (vc-modified    nano-popout)
+   (vc-added       nano-salient)
+   (vc-deleted     nano-faded))
+
+  (;; Overwrite faces set by Doom theme framework.
+
+   ;; === Base =================================================================
+
+   (cursor :foreground bg :background fg)
+   (mouse  :foreground fg :background bg)
+
+   ;; === General ==============================================================
+
+   (buffer-menu-buffer           :foreground nano-strong :weight 'bold)
+   (completions-annotations      :foreground nano-faded)
+   (completions-common-part      :foreground nano-strong :weight 'bold)
+   (completions-first-difference :foreground fg)
+   (fill-column-indicator        :foreground nano-subtle)
+   (help-argument-name           :foreground nano-faded)
+   (isearch                      :foreground nano-strong :weight 'bold)
+   (isearch-fail                 :foreground nano-faded)
+   (lazy-highlight               :background nano-subtle)
+   (minibuffer-prompt            :foreground nano-strong :weight 'bold)
+   (nobreak-hyphen               :foreground nano-popout)
+   (nobreak-space                :foreground nano-popout)
+   (read-multiple-choice-face    :foreground nano-strong :weight 'bold)
+   (secondary-selection          :background nano-subtle)
+   (show-paren-match             :foreground nano-strong :weight 'bold)
+   (show-paren-mismatch          :foreground nano-critical)
+   (tabulated-list-fake-header   :foreground nano-strong :weight 'bold)
+   (tool-bar                     :foreground bg :background nano-faded)
+   (tooltip                      :background nano-subtle)
+   (trailing-whitespace          :background nano-subtle)
+
+   (whitespace-tab :background
+                   (if doom-nano-dark-theme-highlight-tab-whitespaces
+                       nano-subtle
+                     bg))
+
+   ;; === Ace window ===========================================================
+
+   (aw-leading-char-face :foreground nano-popout)
+   (aw-background-face   :foreground nano-faded :background bg)
+
+   ;; === ANSI colors ==========================================================
+
+   (ansi-color-black          :foreground fg)
+   (ansi-color-bold           :foreground nano-strong :weight 'bold)
+   (ansi-color-bright-black   :foreground nano-strong :weight 'bold)
+   (ansi-color-faint          :foreground nano-faded)
+   (ansi-color-fast-blink     :foreground nano-faded)
+   (ansi-color-slow-blink     :foreground nano-faded)
+   (ansi-color-inverse        :foreground bg :background fg)
+   (ansi-color-italic         :foreground fg :slant 'italic)
+   (ansi-color-underline      :foreground nano-faded)
+   (ansi-color-blue           :foreground blue)
+   (ansi-color-bright-blue    :foreground bright-blue)
+   (ansi-color-cyan           :foreground cyan)
+   (ansi-color-bright-cyan    :foreground bright-cyan)
+   (ansi-color-green          :foreground green)
+   (ansi-color-bright-green   :foreground bright-green)
+   (ansi-color-magenta        :foreground magenta)
+   (ansi-color-bright-magenta :foreground bright-magenta)
+   (ansi-color-red            :foreground red)
+   (ansi-color-bright-red     :foreground bright-red)
+   (ansi-color-white          :foreground white)
+   (ansi-color-bright-white   :foreground bright-white)
+   (ansi-color-yellow         :foreground yellow)
+   (ansi-color-bright-yellow  :foreground bright-yellow)
+
+   ;; === Buttons ==============================================================
+
+   (button                             :foreground nano-faded :background nano-highlight :box nil)
+   ((custom-button &override)          :foreground nano-faded :background nano-highlight :box nil)
+   ((custom-button-unraised &override) :foreground nano-faded :background nano-highlight :box nil)
+   ((custom-button-mouse &override)    :foreground fg :background nano-subtle :box nil)
+   ((custom-button-pressed &override)  :foreground bg :background fg :box nil)
+
+   ;; === Custom edit ==========================================================
+
+   (custom-changed           :foreground nano-salient)
+   (custom-comment           :foreground nano-faded)
+   (custom-comment-tag       :foreground nano-faded)
+   (custom-face-tag          :foreground nano-strong :weight 'bold)
+   (custom-group-subtitle    :foreground nano-strong :weight 'bold)
+   (custom-group-tag         :foreground nano-strong :weight 'bold)
+   (custom-group-tag-1       :foreground nano-strong :weight 'bold)
+   (custom-invalid           :foreground nano-popout)
+   (custom-link              :foreground nano-salient)
+   (custom-modified          :foreground nano-salient)
+   (custom-state             :foreground nano-salient)
+   (custom-variable-obsolete :foreground nano-faded)
+   (custom-variable-tag      :foreground nano-strong :weight 'bold)
+   (custom-visibility        :foreground nano-salient)
+   (widget-button            :foreground nano-strong :weight 'bold)
+   (widget-field             :background base2)
+   (widget-single-line-field :background base2)
+
+   ;; === Company tooltip ======================================================
+
+   (company-scrollbar-bg                 :foreground bg :background nano-faded)
+   (company-scrollbar-fg                 :foreground bg :background fg)
+   (company-tooltip                      :background nano-subtle)
+   (company-tooltip-annotation           :foreground fg)
+   (company-tooltip-annotation-selection :background nano-salient)
+   (company-tooltip-common               :foreground nano-strong :weight 'bold)
+   (company-tooltip-common-selection     :foreground bg :background nano-salient :weight 'normal)
+   (company-tooltip-mouse                :foreground bg :background nano-faded)
+   (company-tooltip-scrollbar-thumb      :foreground bg :background fg)
+   (company-tooltip-scrollbar-track      :foreground bg :foreground nano-faded)
+   (company-tooltip-selection            :foreground bg :background nano-salient)
+
+   ;; === Diff =================================================================
+
+   (diff-header         :foreground nano-faded)
+   (diff-file           :foreground nano-strong :weight 'bold)
+   (diff-context        :foreground fg)
+   (diff-removed        :foreground nano-faded)
+   (diff-changed        :foreground nano-popout)
+   (diff-added          :foreground nano-salient)
+   (diff-refine-added   :foreground nano-salient :weight 'bold)
+   (diff-refine-changed :foreground nano-popout)
+   (diff-refine-removed :foreground nano-faded :strike-through t)
+
+   ;; === Doom NANO modeline ===================================================
+
+   (doom-nano-modeline-evil-emacs-state-face    :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-insert-state-face   :foreground bg :background nano-popout)
+   (doom-nano-modeline-evil-motion-state-face   :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-normal-state-face   :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-operator-state-face :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-replace-state-face  :foreground bg :background nano-critical)
+   (doom-nano-modeline-evil-visual-state-face   :foreground bg :background nano-salient)
+   (doom-nano-modeline-inactive-face            :foreground nano-faded :background nano-highlight)
+
+   ;; === Evil mode ============================================================
+
+   (evil-snipe-first-match-face :background nano-highlight :weight 'bold)
+   (evil-snipe-matches-face     :background nano-subtle)
+
+   ;; === Flycheck =============================================================
+
+   (flycheck-posframe-background-face :background nano-subtle)
+
+   ;; === Font lock ============================================================
+
+   (font-lock-variable-name-face :foreground nano-salient :weight 'bold)
+   (font-lock-function-name-face :foreground nano-strong :weight 'bold)
+
+   ;; === Info =================================================================
+
+   (Info-quoted      :foreground nano-faded)
+   (info-header-node :foreground fg)
+   (info-index-match :foreground nano-salient)
+   (info-menu-header :foreground nano-strong :weight 'bold)
+   (info-menu-star   :foreground fg)
+   (info-node        :foreground nano-strong :weight 'bold)
+   (info-title-1     :foreground nano-strong :weight 'bold)
+   (info-title-2     :foreground nano-strong :weight 'bold)
+   (info-title-3     :foreground nano-strong :weight 'bold)
+   (info-title-4     :foreground nano-strong :weight 'bold)
+
+   ;; === Helpful ==============================================================
+
+   (helpful-heading :foreground nano-strong :weight 'bold)
+
+   ;; === Highlight indent guides ==============================================
+
+   (highlight-indent-guides-f)
+
+   ;; === Hydra ================================================================
+
+   (hydra-face-red :foreground nano-popout :weight 'bold)
+
+   ;; === Line numbers =========================================================
+
+   (line-number              :foreground nano-faded)
+   (line-number-current-line :foreground fg)
+   (line-number-major-tick   :foreground nano-faded)
+   (line-number-minor-tick   :foreground nano-faded)
+
+   ;; === LSP ==================================================================
+
+   (lsp-face-highlight-textual :background base1)
+
+   ;; === Markdown =============================================================
+
+   (markdown-blockquote-face         :foreground fg)
+   (markdown-bold-face               :foreground nano-strong :weight 'bold)
+   (markdown-code-face               :foreground fg)
+   (markdown-comment-face            :foreground nano-faded)
+   (markdown-footnote-marker-face    :foreground fg)
+   (markdown-footnote-text-face      :foreground fg)
+   (markdown-gfm-checkbox-face       :foreground fg)
+   (markdown-header-delimiter-face   :foreground nano-faded)
+   (markdown-header-face             :foreground nano-strong :weight 'bold)
+   (markdown-header-face-1           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-2           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-3           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-4           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-5           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-6           :foreground nano-strong :weight 'bold)
+   (markdown-header-rule-face        :foreground fg)
+   (markdown-highlight-face          :foreground fg)
+   (markdown-hr-face                 :foreground fg)
+   (markdown-html-attr-name-face     :foreground fg)
+   (markdown-html-attr-value-face    :foreground fg)
+   (markdown-html-entity-face        :foreground fg)
+   (markdown-html-tag-delimiter-face :foreground fg)
+   (markdown-html-tag-name-face      :foreground fg)
+   (markdown-inline-code-face        :foreground nano-popout)
+   (markdown-italic-face             :foreground nano-faded :slant 'italic)
+   (markdown-language-info-face      :foreground fg)
+   (markdown-language-keyword-face   :foreground fg)
+   (markdown-line-break-face         :foreground fg)
+   (markdown-link-face               :foreground nano-salient)
+   (markdown-link-title-face         :foreground fg)
+   (markdown-list-face               :foreground nano-faded)
+   (markdown-markup-face             :foreground nano-faded)
+   (markdown-math-face               :foreground fg)
+   (markdown-metadata-key-face       :foreground nano-faded)
+   (markdown-metadata-value-face     :foreground nano-faded)
+   (markdown-missing-link-face       :foreground fg)
+   (markdown-plain-url-face          :foreground fg)
+   (markdown-pre-face                :foreground nano-popout)
+   (markdown-reference-face          :foreground nano-salient)
+   (markdown-strike-through-face     :foreground nano-faded)
+   (markdown-table-face              :foreground fg)
+   (markdown-url-face                :foreground nano-salient)
+
+   ;; === Magit ================================================================
+
+   (magit-bisect-bad                      :foreground fg)
+   (magit-bisect-good                     :foreground fg)
+   (magit-bisect-skip                     :foreground fg)
+   (magit-blame-date                      :foreground fg)
+   (magit-blame-dimmed                    :foreground fg)
+   (magit-blame-hash                      :foreground nano-faded)
+   (magit-blame-heading                   :background nano-subtle :weight 'bold)
+   (magit-blame-highlight                 :background highlight)
+   (magit-blame-margin                    :foreground fg)
+   (magit-blame-name                      :foreground fg)
+   (magit-blame-summary                   :foreground fg)
+   (magit-branch-current                  :foreground nano-salient :weight 'bold)
+   (magit-branch-local                    :foreground nano-salient)
+   (magit-branch-remote                   :foreground nano-salient)
+   (magit-branch-remote-head              :foreground nano-salient)
+   (magit-branch-upstream                 :foreground nano-salient)
+   (magit-cherry-equivalent               :foreground fg)
+   (magit-cherry-unmatched                :foreground fg)
+   (magit-diff-added                      :foreground nano-salient :weight 'bold)
+   (magit-diff-added-highlight            :foreground nano-salient :weight 'bold)
+   (magit-diff-base                       :foreground fg)
+   (magit-diff-base-highlight             :background highlight)
+   (magit-diff-conflict-heading           :background nano-subtle :weight 'bold)
+   (magit-diff-context                    :foreground nano-faded)
+   (magit-diff-context-highlight          :foreground nano-faded)
+   (magit-diff-file-heading               :foreground nano-strong :weight 'bold)
+   (magit-diff-file-heading-highlight     :background highlight :weight 'bold)
+   (magit-diff-file-heading-selection     :foreground fg)
+   (magit-diff-hunk-heading               :background nano-subtle)
+   (magit-diff-hunk-heading-highlight     :foreground fg)
+   (magit-diff-hunk-heading-selection     :foreground fg)
+   (magit-diff-hunk-region                :foreground fg)
+   (magit-diff-lines-boundary             :foreground fg)
+   (magit-diff-lines-heading              :background nano-subtle :weight 'bold)
+   (magit-diff-our                        :foreground fg)
+   (magit-diff-our-highlight              :background highlight)
+   (magit-diff-removed                    :foreground nano-popout :weight 'bold)
+   (magit-diff-removed-highlight          :foreground nano-popout :weight 'bold)
+   (magit-diff-revision-summary           :foreground nano-popout)
+   (magit-diff-revision-summary-highlight :foreground fg)
+   (magit-diff-their                      :foreground fg)
+   (magit-diff-their-highlight            :background highlight)
+   (magit-diff-whitespace-warning         :background nano-subtle)
+   (magit-diffstat-added                  :foreground fg)
+   (magit-diffstat-removed                :foreground fg)
+   (magit-dimmed                          :foreground nano-faded)
+   (magit-filename                        :foreground fg)
+   (magit-hash                            :foreground nano-faded)
+   (magit-head                            :foreground fg)
+   (magit-header-line                     :foreground fg)
+   (magit-header-line-key                 :foreground fg)
+   (magit-header-line-log-select          :foreground fg)
+   (magit-keyword                         :foreground nano-salient)
+   (magit-keyword-squash                  :foreground nano-salient)
+   (magit-log-author                      :foreground fg)
+   (magit-log-date                        :foreground fg)
+   (magit-log-graph                       :foreground fg)
+   (magit-mode-line-process               :foreground fg)
+   (magit-mode-line-process-error         :foreground nano-critical)
+   (magit-process-ng                      :foreground fg)
+   (magit-process-ok                      :foreground fg)
+   (magit-reflog-amend                    :foreground fg)
+   (magit-reflog-checkout                 :foreground fg)
+   (magit-reflog-cherry-pick              :foreground fg)
+   (magit-reflog-commit                   :foreground fg)
+   (magit-reflog-merge                    :foreground fg)
+   (magit-reflog-other                    :foreground fg)
+   (magit-reflog-rebase                   :foreground fg)
+   (magit-reflog-remote                   :foreground fg)
+   (magit-reflog-reset                    :foreground fg)
+   (magit-refname                         :foreground fg)
+   (magit-refname-pullreq                 :foreground fg)
+   (magit-refname-stash                   :foreground fg)
+   (magit-refname-wip                     :foreground fg)
+   (magit-section-heading                 :foreground nano-salient :weight 'bold)
+   (magit-section-heading-selection       :foreground fg)
+   (magit-section-highlight               :background highlight)
+   (magit-section-secondary-heading       :foreground fg)
+   (magit-sequence-done                   :foreground fg)
+   (magit-sequence-drop                   :foreground fg)
+   (magit-sequence-exec                   :foreground fg)
+   (magit-sequence-head                   :foreground fg)
+   (magit-sequence-onto                   :foreground fg)
+   (magit-sequence-part                   :foreground fg)
+   (magit-sequence-pick                   :foreground fg)
+   (magit-sequence-stop                   :foreground fg)
+   (magit-signature-bad                   :foreground fg)
+   (magit-signature-error                 :foreground fg)
+   (magit-signature-expired               :foreground fg)
+   (magit-signature-expired-key           :foreground fg)
+   (magit-signature-good                  :foreground fg)
+   (magit-signature-revoked               :foreground fg)
+   (magit-signature-untrusted             :foreground fg)
+   (magit-tag                             :foreground nano-strong)
+
+   ;; === Marginalia ===========================================================
+
+   (marginalia-archive         :foreground nano-faded)
+   (marginalia-char            :foreground nano-faded)
+   (marginalia-date            :foreground nano-faded)
+   (marginalia-documentation   :foreground nano-faded)
+   (marginalia-file-name       :foreground nano-faded)
+   (marginalia-file-owner      :foreground nano-faded)
+   (marginalia-file-priv-dir   :foreground nano-faded)
+   (marginalia-file-priv-exec  :foreground nano-faded)
+   (marginalia-file-priv-link  :foreground nano-faded)
+   (marginalia-file-priv-no    :foreground nano-faded)
+   (marginalia-file-priv-other :foreground nano-faded)
+   (marginalia-file-priv-rare  :foreground nano-faded)
+   (marginalia-file-priv-read  :foreground nano-faded)
+   (marginalia-file-priv-write :foreground nano-faded)
+   (marginalia-function        :foreground nano-faded)
+   (marginalia-installed       :foreground nano-faded)
+   (marginalia-key             :foreground nano-faded)
+   (marginalia-lighter         :foreground nano-faded)
+   (marginalia-list            :foreground nano-faded)
+   (marginalia-mode            :foreground nano-faded)
+   (marginalia-modified        :foreground nano-faded)
+   (marginalia-null            :foreground nano-faded)
+   (marginalia-number          :foreground nano-faded)
+   (marginalia-off             :foreground nano-faded)
+   (marginalia-on              :foreground nano-faded)
+   (marginalia-size            :foreground nano-faded)
+   (marginalia-string          :foreground nano-faded)
+   (marginalia-symbol          :foreground nano-faded)
+   (marginalia-true            :foreground nano-faded)
+   (marginalia-type            :foreground nano-faded)
+   (marginalia-value           :foreground nano-faded)
+   (marginalia-version         :foreground nano-faded)
+
+   ;; === Message ==============================================================
+
+   (message-cited-text        :foreground nano-faded)
+   (message-cited-text-1      :foreground nano-faded)
+   (message-cited-text-2      :foreground nano-faded)
+   (message-cited-text-3      :foreground nano-faded)
+   (message-cited-text-4      :foreground nano-faded)
+   (message-header-cc         :foreground fg)
+   (message-header-name       :foreground nano-strong :weight 'bold)
+   (message-header-newsgroups :foreground fg)
+   (message-header-other      :foreground fg)
+   (message-header-subject    :foreground nano-salient)
+   (message-header-to         :foreground nano-salient)
+   (message-header-xheader    :foreground fg)
+   (message-mml               :foreground nano-popout)
+   (message-separator         :foreground nano-faded)
+
+   ;; === Modeline =============================================================
+
+   (mode-line          :foreground fg :background nano-subtle)
+   (mode-line-inactive :foreground nano-strong :background nano-highlight)
+   (mode-line-emphasis :foreground nano-strong :weight 'bold)
+
+   ;; === Packages =============================================================
+
+   (package-description       :foreground fg)
+   (package-help-section-name :foreground fg)
+   (package-name              :foreground nano-salient)
+   (package-status-avail-obso :foreground nano-faded)
+   (package-status-available  :foreground fg)
+   (package-status-built-in   :foreground nano-salient)
+   (package-status-dependency :foreground nano-salient)
+   (package-status-disabled   :foreground nano-faded)
+   (package-status-external   :foreground fg)
+   (package-status-held       :foreground fg)
+   (package-status-incompat   :foreground nano-faded)
+   (package-status-installed  :foreground nano-salient)
+   (package-status-new        :foreground fg)
+   (package-status-unsigned   :foreground fg)
+
+   ;; === Orderless ============================================================
+
+   (orderless-match-face-0 :foreground nano-salient :weight 'bold)
+   (orderless-match-face-1 :foreground nano-strong :weight 'bold)
+   (orderless-match-face-2 :foreground nano-strong :weight 'bold)
+   (orderless-match-face-3 :foreground nano-strong :weight 'bold)
+
+   ;; === Org mode =============================================================
+
+   (org-archived                 :foreground nano-faded)
+   (org-block                    :background highlight)
+   (org-block-begin-line         :background nano-subtle :foreground nano-faded)
+   (org-block-end-line           :background nano-subtle :foreground nano-faded)
+   (org-checkbox                 :foreground nano-faded)
+   (org-checkbox-statistics-done :foreground nano-faded)
+   (org-checkbox-statistics-todo :foreground nano-faded)
+   (org-clock-overlay            :foreground nano-faded)
+   (org-code                     :foreground nano-salient)
+   (org-column                   :foreground nano-faded)
+   (org-column-title             :foreground nano-faded)
+   (org-date                     :foreground nano-faded)
+   (org-date-selected            :foreground nano-popout)
+   (org-default                  :foreground nano-faded)
+   (org-document-info            :foreground nano-faded)
+   (org-document-info-keyword    :foreground nano-faded)
+   (org-document-title           :foreground nano-faded)
+   (org-done                     :foreground nano-faded)
+   (org-drawer                   :foreground nano-faded)
+   (org-ellipsis                 :foreground nano-faded)
+   (org-footnote                 :foreground nano-faded)
+   (org-formula                  :foreground nano-faded)
+   (org-headline-done            :foreground nano-faded)
+   (org-latex-and-related        :foreground nano-faded)
+   (org-level-1                  :foreground nano-strong :weight 'bold)
+   (org-level-2                  :foreground nano-strong :weight 'bold)
+   (org-level-3                  :foreground nano-strong :weight 'bold)
+   (org-level-4                  :foreground nano-strong :weight 'bold)
+   (org-level-5                  :foreground nano-strong :weight 'bold)
+   (org-level-6                  :foreground nano-strong :weight 'bold)
+   (org-level-7                  :foreground nano-strong :weight 'bold)
+   (org-level-8                  :foreground nano-strong :weight 'bold)
+   (org-link                     :foreground nano-salient)
+   (org-list-dt                  :foreground nano-faded)
+   (org-macro                    :foreground nano-faded)
+   (org-meta-line                :foreground nano-faded)
+   (org-mode-line-clock          :foreground nano-faded)
+   (org-mode-line-clock-overrun  :foreground nano-faded)
+   (org-priority                 :foreground nano-faded)
+   (org-property-value           :foreground nano-faded)
+   (org-quote                    :foreground nano-faded)
+   (org-scheduled                :foreground nano-faded)
+   (org-scheduled-previously     :foreground nano-faded)
+   (org-scheduled-today          :foreground nano-faded)
+   (org-sexp-date                :foreground nano-faded)
+   (org-special-keyword          :foreground nano-faded)
+   (org-table                    :foreground nano-faded)
+   (org-tag                      :foreground nano-popout)
+   (org-tag-group                :foreground nano-faded)
+   (org-target                   :foreground nano-faded)
+   (org-time-grid                :foreground nano-faded)
+   (org-todo                     :foreground nano-salient)
+   (org-upcoming-deadline        :foreground nano-popout)
+   (org-verbatim                 :foreground nano-popout)
+   (org-verse                    :foreground nano-faded)
+   (org-warning                  :foreground nano-popout)
+
+   ;; === Org-agenda ===========================================================
+
+   (org-agenda-calendar-event   :foreground fg)
+   (org-agenda-calendar-sexp    :foreground nano-salient)
+   (org-agenda-clocking         :foreground nano-faded)
+   (org-agenda-column-dateline  :foreground nano-faded)
+   (org-agenda-current-time     :foreground nano-salient :weight 'bold)
+   (org-agenda-date             :foreground nano-strong :weight 'bold)
+   (org-agenda-date-today       :foreground nano-salient :weight 'bold)
+   (org-agenda-date-weekend     :foreground nano-faded)
+   (org-agenda-diary            :foreground nano-faded)
+   (org-agenda-dimmed-todo-face :foreground nano-faded)
+   (org-agenda-done             :foreground nano-faded)
+   (org-agenda-filter-category  :foreground nano-faded)
+   (org-agenda-filter-effort    :foreground nano-faded)
+   (org-agenda-filter-regexp    :foreground nano-faded)
+   (org-agenda-filter-tags      :foreground nano-faded)
+   (org-agenda-property-face    :foreground nano-faded)
+   (org-agenda-restriction-lock :foreground nano-faded)
+   (org-agenda-structure        :foreground nano-strong :weight 'bold)
+
+   ;; === Popup ================================================================
+
+   (popup-face                       :foreground highlight)
+   (popup-isearch-match              :foreground nano-popout)
+   (popup-menu-face                  :foreground nano-subtle)
+   (popup-menu-mouse-face            :foreground bg :background nano-faded)
+   (popup-menu-selection-face        :foreground bg :background nano-salient)
+   (popup-menu-summary-face          :foreground nano-faded)
+   (popup-scroll-bar-background-face :foreground nano-subtle)
+   (popup-scroll-bar-foreground-face :foreground nano-subtle)
+   (popup-summary-face               :foreground nano-faded)
+   (popup-tip-face                   :foreground bg :background nano-popout)
+
+   ;; === Semantics ============================================================
+
+   (match  :foreground nano-popout)
+   (shadow :foreground nano-faded)
+
+   ;; === smerge ===============================================================
+
+   (smerge-lower           :background bg)
+   (smerge-markers         :background nano-subtle :weight 'bold :distant-foreground 'unspecified)
+   (smerge-refined-added   :foreground nano-salient :weight 'bold)
+   (smerge-refined-changed :foreground nano-popout)
+   (smerge-refined-removed :foreground nano-faded :strike-through t)
+   (smerge-upper           :background bg)
+
+   ;; === Structural ===========================================================
+
+   (bold              :foreground nano-strong :weight 'bold)
+   (bold-italic       :foreground nano-strong :weight 'bold)
+   (fixed-pitch       :foreground fg)
+   (fixed-pitch-serif :foreground fg)
+   (fringe            :foreground nano-faded)
+   (hl-line           :background highlight)
+   (italic            :foreground nano-faded :slant 'italic)
+   (link              :foreground nano-salient)
+   (region            :background nano-subtle :distant-foreground 'unspecified)
+
+   ;; === Terminal =============================================================
+
+   (term-bold          :foreground nano-strong :weight 'bold)
+   (term-color-black   :foreground fg)
+   (term-color-blue    :foreground blue :background bright-blue)
+   (term-color-cyan    :foreground cyan :background bright-cyan)
+   (term-color-green   :foreground green :background bright-green)
+   (term-color-magenta :foreground magenta :background bright-magenta)
+   (term-color-red     :foreground red :background bright-red)
+   (term-color-yellow  :foreground yellow :background bright-yellow)
+
+   ;; === Transient ============================================================
+
+   ;; Set only faces that influence Magit.
+   (transient-value :foreground fg)
+
+   ;; === Vertico ==============================================================
+
+   (vertico-current         :background nano-subtle :weight 'bold)
+   (vertico-group-separator :foreground nano-faded)
+   (vertico-group-title     :foreground nano-faded)
+   (vertico-multiline       :foreground nano-faded)
+
+   ;;; === Vterm ===============================================================
+
+   (vterm-color-black   :foreground fg :background fg)
+   (vterm-color-blue    :foreground blue :background bright-blue)
+   (vterm-color-cyan    :foreground cyan :background bright-cyan)
+   (vterm-color-green   :foreground green :background bright-green)
+   (vterm-color-magenta :foreground magenta :background bright-magenta)
+   (vterm-color-red     :foreground red :background bright-red)
+   (vterm-color-yellow  :foreground yellow :background bright-yellow)
+   (vterm-color-white   :foreground white :background white)
+
+   ;; === Workspaces ===========================================================
+
+   (+workspace-tab-selected-face :foreground nano-salient :weight 'bold)
+
+   ;; === Which key ============================================================
+
+   (which-key-command-description-face   :foreground fg)
+   (which-key-key-face                   :foreground nano-strong :weight 'bold)
+   (which-key-key-group-description-face :foreground nano-salient)))
+
+(provide 'doom-nano-dark-theme)
+
+;;; doom-nano-dark-theme.el ends here

+ 698 - 0
themes/doom-nano-light-theme.el

@@ -0,0 +1,698 @@
+;;; doom-nano-light-theme.el --- Light theme for Doom Emacs based on N Λ N O -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2023  Ronan Arraes Jardim Chagas
+;;
+;; This package is the implementation of N Λ N O theme by Nicolas P. Rougier
+;; <Nicolas.Rougier@inria.fr> using doom-themes framework.
+;;
+;; Author           : Ronan Arraes Jardim Chagas
+;; Created          : February 2023
+;; Keywords         : mode-line, header-line
+;; Package-Requires : ((emacs "28") (doom-themes "2"))
+;; URL              : https://github.com/ronisbr/doom-nano-themes/
+;; Version          : 0.2.3
+;;
+;;; Usage:
+;; 1. Copy this file to `~/.doom.d/themes/' `~/.config/doom/themes/`.
+;; 2. Load the theme using `(setq doom-theme 'doom-nano-light)'.
+;;
+;;; License:
+;; Permission is hereby granted, free of charge, to any person obtaining
+;; a copy of this software and associated documentation files (the
+;; "Software"), to deal in the Software without restriction, including
+;; without limitation the rights to use, copy, modify, merge, publish,
+;; distribute, sublicense, and/or sell copies of the Software, and to
+;; permit persons to whom the Software is furnished to do so, subject to
+;; the following conditions:
+;;
+;; The above copyright notice and this permission notice shall be
+;; included in all copies or substantial portions of the Software.
+;;
+;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+;; LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+;; OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+;; WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+;;
+;;; Commentary:
+;; This package provides a light theme for Doom Emacs based on N Λ N O.
+
+;;; Code:
+
+(defgroup doom-nano-light-theme nil
+  "Options for the `doom-nano-light' theme."
+  :group 'doom-themes)
+
+(defcustom doom-nano-light-theme-highlight-tab-whitespaces nil
+  "If non-nil, the tab whitespaces will be highlighted."
+  :group 'doom-nano-light-theme
+  :type 'boolean)
+
+(def-doom-theme doom-nano-light
+  "A light theme for Doom Emacs based on N Λ N O."
+
+  (;; Colors defined by N Λ N O theme.
+   (nano-foreground '("#37474F" "#37474F" "brightblack"))
+   (nano-background '("#FFFFFF" "#FFFFFF" "brightwhite"))
+   (nano-highlight  '("#FAFAFA" "#FAFAFA" "brightblack"))
+   (nano-subtle     '("#ECEFF1" "#ECEFF1" "brightcyan"))
+   (nano-faded      '("#90A4AE" "#90A4AE" "cyan"))
+   (nano-salient    '("#673AB7" "#673AB7" "purple"))
+   (nano-strong     '("#263238" "#263238" "brightblack"))
+   (nano-popout     '("#FFAB91" "#FFAB91" "yellow"))
+   (nano-critical   '("#FF6F00" "#FF6F00" "brightyellow"))
+
+   ;; Required colors for a Doom theme.
+   (bg             nano-background)
+   (fg             nano-foreground)
+
+   (bg-alt         nano-highlight)
+   (fg-alt         nano-foreground)
+
+   (base0          '("#FFFFFF" "#FFFFFF" "white"))
+   (base1          '("#E0E0E0" "#E0E0E0" "brightblack"))
+   (base2          '("#C1C1C1" "#C1C1C1" "brightblack"))
+   (base3          '("#A3A3A3" "#A3A3A3" "brightblack"))
+   (base4          '("#848484" "#848484" "brightblack"))
+   (base5          '("#666666" "#666666" "brightblack"))
+   (base6          '("#474747" "#474747" "brightblack"))
+   (base7          '("#282828" "#282828" "brightblack"))
+   (base8          '("#000000" "#000000" "black"))
+
+   (bright-blue    '("#BBDEFB" "#BBDEFB" "brightblue"))
+   (bright-cyan    '("#B2EBF2" "#B2EBF2" "brightcyan"))
+   (bright-green   '("#C8E6C9" "#C8E6C9" "brightgreen"))
+   (bright-magenta '("#E1BEE7" "#E1BEE7" "brightmagenta"))
+   (bright-red     '("#FFCDD2" "#FFCDD2" "brightred"))
+   (bright-white   nano-background)
+   (bright-yellow  '("#FFF9C4" "#FFF9C4" "brightyellow"))
+
+   (blue           '("#42A5F5" "#42A5F5" "blue"))
+   (cyan           '("#26C6DA" "#26C6DA" "cyan"))
+   (dark-blue      '("#A0BCF8" "#A0BCF8" "blue"))
+   (dark-cyan      '("#005478" "#005478" "cyan"))
+   (green          '("#66BB6A" "#66BB6A" "green"))
+   (grey           base4)
+   (magenta        '("#AB47BC" "#AB47BC" "magenta"))
+   (orange         '("#DA8548" "#DD8844" "brightred"))
+   (red            '("#EF5350" "#EF5350" "red"))
+   (teal           '("#4DB5BD" "#44B9B1" "brightgreen"))
+   (violet         '("#B751B6" "#B751B6" "brightmagenta"))
+   (white           nano-subtle)
+   (yellow         '("#E2C12F" "#E2C12F" "yellow"))
+
+   (highlight      nano-highlight)
+   (vertical-bar   nano-background)
+   (selection      nano-subtle)
+   (builtin        nano-salient)
+   (comments       nano-faded)
+   (doc-comments   nano-faded)
+   (constants      nano-salient)
+   (functions      nano-strong)
+   (keywords       nano-salient)
+   (methods        nano-strong)
+   (operators      nano-salient)
+   (type           nano-salient)
+   (strings        nano-faded)
+   (variables      nano-salient)
+   (numbers        nano-salient)
+   (region         nano-subtle)
+   (error          nano-critical)
+   (warning        nano-popout)
+   (success        nano-salient)
+   (vc-modified    nano-popout)
+   (vc-added       nano-salient)
+   (vc-deleted     nano-faded))
+
+  (;; Overwrite faces set by Doom theme framework.
+
+   ;; === Base =================================================================
+
+   (cursor :foreground bg :background fg)
+   (mouse  :foreground fg :background bg)
+
+   ;; === General ==============================================================
+
+   (buffer-menu-buffer           :foreground nano-strong :weight 'bold)
+   (completions-annotations      :foreground nano-faded)
+   (completions-common-part      :foreground nano-strong :weight 'bold)
+   (completions-first-difference :foreground fg)
+   (fill-column-indicator        :foreground nano-subtle)
+   (help-argument-name           :foreground nano-faded)
+   (isearch                      :foreground nano-strong :weight 'bold)
+   (isearch-fail                 :foreground nano-faded)
+   (lazy-highlight               :background nano-subtle)
+   (minibuffer-prompt            :foreground nano-strong :weight 'bold)
+   (nobreak-hyphen               :foreground nano-popout)
+   (nobreak-space                :foreground nano-popout)
+   (read-multiple-choice-face    :foreground nano-strong :weight 'bold)
+   (secondary-selection          :background nano-subtle)
+   (show-paren-match             :foreground nano-strong :weight 'bold)
+   (show-paren-mismatch          :foreground nano-critical)
+   (tabulated-list-fake-header   :foreground nano-strong :weight 'bold)
+   (tool-bar                     :foreground bg :background nano-faded)
+   (tooltip                      :background nano-subtle)
+   (trailing-whitespace          :background nano-subtle)
+
+   (whitespace-tab :background
+                   (if doom-nano-light-theme-highlight-tab-whitespaces
+                       nano-subtle
+                     bg))
+
+   ;; === Ace window ===========================================================
+
+   (aw-leading-char-face :foreground nano-popout)
+   (aw-background-face   :foreground nano-faded :background bg)
+
+   ;; === ANSI colors ==========================================================
+
+   (ansi-color-black          :foreground fg)
+   (ansi-color-bold           :foreground nano-strong :weight 'bold)
+   (ansi-color-bright-black   :foreground nano-strong :weight 'bold)
+   (ansi-color-faint          :foreground nano-faded)
+   (ansi-color-fast-blink     :foreground nano-faded)
+   (ansi-color-slow-blink     :foreground nano-faded)
+   (ansi-color-inverse        :foreground bg :background fg)
+   (ansi-color-italic         :foreground fg :slant 'italic)
+   (ansi-color-underline      :foreground nano-faded)
+   (ansi-color-blue           :foreground blue)
+   (ansi-color-bright-blue    :foreground bright-blue)
+   (ansi-color-cyan           :foreground cyan)
+   (ansi-color-bright-cyan    :foreground bright-cyan)
+   (ansi-color-green          :foreground green)
+   (ansi-color-bright-green   :foreground bright-green)
+   (ansi-color-magenta        :foreground magenta)
+   (ansi-color-bright-magenta :foreground bright-magenta)
+   (ansi-color-red            :foreground red)
+   (ansi-color-bright-red     :foreground bright-red)
+   (ansi-color-white          :foreground white)
+   (ansi-color-bright-white   :foreground bright-white)
+   (ansi-color-yellow         :foreground yellow)
+   (ansi-color-bright-yellow  :foreground bright-yellow)
+
+   ;; === Buttons ==============================================================
+
+   (button                             :foreground nano-faded :background nano-highlight :box nil)
+   ((custom-button &override)          :foreground nano-faded :background nano-highlight :box nil)
+   ((custom-button-unraised &override) :foreground nano-faded :background nano-highlight :box nil)
+   ((custom-button-mouse &override)    :foreground fg :background nano-subtle :box nil)
+   ((custom-button-pressed &override)  :foreground bg :background fg :box nil)
+
+   ;; === Custom edit ==========================================================
+
+   (custom-changed           :foreground nano-salient)
+   (custom-comment           :foreground nano-faded)
+   (custom-comment-tag       :foreground nano-faded)
+   (custom-face-tag          :foreground nano-strong :weight 'bold)
+   (custom-group-subtitle    :foreground nano-strong :weight 'bold)
+   (custom-group-tag         :foreground nano-strong :weight 'bold)
+   (custom-group-tag-1       :foreground nano-strong :weight 'bold)
+   (custom-invalid           :foreground nano-popout)
+   (custom-link              :foreground nano-salient)
+   (custom-modified          :foreground nano-salient)
+   (custom-state             :foreground nano-salient)
+   (custom-variable-obsolete :foreground nano-faded)
+   (custom-variable-tag      :foreground nano-strong :weight 'bold)
+   (custom-visibility        :foreground nano-salient)
+   (widget-button            :foreground nano-strong :weight 'bold)
+   (widget-field             :background base2)
+   (widget-single-line-field :background base2)
+
+   ;; === Company tooltip ======================================================
+
+   (company-scrollbar-bg                 :foreground bg :background nano-faded)
+   (company-scrollbar-fg                 :foreground bg :background fg)
+   (company-tooltip                      :background nano-subtle)
+   (company-tooltip-annotation           :foreground fg)
+   (company-tooltip-annotation-selection :background nano-salient)
+   (company-tooltip-common               :foreground nano-strong :weight 'bold)
+   (company-tooltip-common-selection     :foreground bg :background nano-salient :weight 'normal)
+   (company-tooltip-mouse                :foreground bg :background nano-faded)
+   (company-tooltip-scrollbar-thumb      :foreground bg :background fg)
+   (company-tooltip-scrollbar-track      :foreground bg :foreground nano-faded)
+   (company-tooltip-selection            :foreground bg :background nano-salient)
+
+   ;; === Diff =================================================================
+
+   (diff-header         :foreground nano-faded)
+   (diff-file           :foreground nano-strong :weight 'bold)
+   (diff-context        :foreground fg)
+   (diff-removed        :foreground nano-faded)
+   (diff-changed        :foreground nano-popout)
+   (diff-added          :foreground nano-salient)
+   (diff-refine-added   :foreground nano-salient :weight 'bold)
+   (diff-refine-changed :foreground nano-popout)
+   (diff-refine-removed :foreground nano-faded :strike-through t)
+
+   ;; === Doom NANO modeline ===================================================
+
+   (doom-nano-modeline-evil-emacs-state-face    :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-insert-state-face   :foreground bg :background nano-popout)
+   (doom-nano-modeline-evil-motion-state-face   :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-normal-state-face   :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-operator-state-face :foreground bg :background nano-faded)
+   (doom-nano-modeline-evil-replace-state-face  :foreground bg :background nano-critical)
+   (doom-nano-modeline-evil-visual-state-face   :foreground bg :background nano-salient)
+   (doom-nano-modeline-inactive-face            :foreground nano-faded :background nano-highlight)
+
+   ;; === Evil mode ============================================================
+
+   (evil-snipe-first-match-face :background nano-highlight :weight 'bold)
+   (evil-snipe-matches-face     :background nano-subtle)
+
+   ;; === Flycheck =============================================================
+
+   (flycheck-posframe-background-face :background nano-subtle)
+
+   ;; === Font lock ============================================================
+
+   (font-lock-variable-name-face :foreground nano-salient :weight 'bold)
+   (font-lock-function-name-face :foreground nano-strong :weight 'bold)
+
+   ;; === Info =================================================================
+
+   (Info-quoted      :foreground nano-faded)
+   (info-header-node :foreground fg)
+   (info-index-match :foreground nano-salient)
+   (info-menu-header :foreground nano-strong :weight 'bold)
+   (info-menu-star   :foreground fg)
+   (info-node        :foreground nano-strong :weight 'bold)
+   (info-title-1     :foreground nano-strong :weight 'bold)
+   (info-title-2     :foreground nano-strong :weight 'bold)
+   (info-title-3     :foreground nano-strong :weight 'bold)
+   (info-title-4     :foreground nano-strong :weight 'bold)
+
+   ;; === Helpful ==============================================================
+
+   (helpful-heading :foreground nano-strong :weight 'bold)
+
+   ;; === Highlight indent guides ==============================================
+
+   (highlight-indent-guides-f)
+
+   ;; === Hydra ================================================================
+
+   (hydra-face-red :foreground nano-popout :weight 'bold)
+
+   ;; === Line numbers =========================================================
+
+   (line-number              :foreground nano-faded)
+   (line-number-current-line :foreground fg)
+   (line-number-major-tick   :foreground nano-faded)
+   (line-number-minor-tick   :foreground nano-faded)
+
+   ;; === LSP ==================================================================
+
+   (lsp-face-highlight-textual :background base1)
+
+   ;; === Markdown =============================================================
+
+   (markdown-blockquote-face         :foreground fg)
+   (markdown-bold-face               :foreground nano-strong :weight 'bold)
+   (markdown-code-face               :foreground fg)
+   (markdown-comment-face            :foreground nano-faded)
+   (markdown-footnote-marker-face    :foreground fg)
+   (markdown-footnote-text-face      :foreground fg)
+   (markdown-gfm-checkbox-face       :foreground fg)
+   (markdown-header-delimiter-face   :foreground nano-faded)
+   (markdown-header-face             :foreground nano-strong :weight 'bold)
+   (markdown-header-face-1           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-2           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-3           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-4           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-5           :foreground nano-strong :weight 'bold)
+   (markdown-header-face-6           :foreground nano-strong :weight 'bold)
+   (markdown-header-rule-face        :foreground fg)
+   (markdown-highlight-face          :foreground fg)
+   (markdown-hr-face                 :foreground fg)
+   (markdown-html-attr-name-face     :foreground fg)
+   (markdown-html-attr-value-face    :foreground fg)
+   (markdown-html-entity-face        :foreground fg)
+   (markdown-html-tag-delimiter-face :foreground fg)
+   (markdown-html-tag-name-face      :foreground fg)
+   (markdown-inline-code-face        :foreground nano-popout)
+   (markdown-italic-face             :foreground nano-faded :slant 'italic)
+   (markdown-language-info-face      :foreground fg)
+   (markdown-language-keyword-face   :foreground fg)
+   (markdown-line-break-face         :foreground fg)
+   (markdown-link-face               :foreground nano-salient)
+   (markdown-link-title-face         :foreground fg)
+   (markdown-list-face               :foreground nano-faded)
+   (markdown-markup-face             :foreground nano-faded)
+   (markdown-math-face               :foreground fg)
+   (markdown-metadata-key-face       :foreground nano-faded)
+   (markdown-metadata-value-face     :foreground nano-faded)
+   (markdown-missing-link-face       :foreground fg)
+   (markdown-plain-url-face          :foreground fg)
+   (markdown-pre-face                :foreground nano-popout)
+   (markdown-reference-face          :foreground nano-salient)
+   (markdown-strike-through-face     :foreground nano-faded)
+   (markdown-table-face              :foreground fg)
+   (markdown-url-face                :foreground nano-salient)
+
+   ;; === Magit ================================================================
+
+   (magit-bisect-bad                      :foreground fg)
+   (magit-bisect-good                     :foreground fg)
+   (magit-bisect-skip                     :foreground fg)
+   (magit-blame-date                      :foreground fg)
+   (magit-blame-dimmed                    :foreground fg)
+   (magit-blame-hash                      :foreground nano-faded)
+   (magit-blame-heading                   :background nano-subtle :weight 'bold)
+   (magit-blame-highlight                 :background highlight)
+   (magit-blame-margin                    :foreground fg)
+   (magit-blame-name                      :foreground fg)
+   (magit-blame-summary                   :foreground fg)
+   (magit-branch-current                  :foreground nano-salient :weight 'bold)
+   (magit-branch-local                    :foreground nano-salient)
+   (magit-branch-remote                   :foreground nano-salient)
+   (magit-branch-remote-head              :foreground nano-salient)
+   (magit-branch-upstream                 :foreground nano-salient)
+   (magit-cherry-equivalent               :foreground fg)
+   (magit-cherry-unmatched                :foreground fg)
+   (magit-diff-added                      :foreground nano-salient :weight 'bold)
+   (magit-diff-added-highlight            :foreground nano-salient :weight 'bold)
+   (magit-diff-base                       :foreground fg)
+   (magit-diff-base-highlight             :background highlight)
+   (magit-diff-conflict-heading           :background nano-subtle :weight 'bold)
+   (magit-diff-context                    :foreground nano-faded)
+   (magit-diff-context-highlight          :foreground nano-faded)
+   (magit-diff-file-heading               :foreground nano-strong :weight 'bold)
+   (magit-diff-file-heading-highlight     :background highlight :weight 'bold)
+   (magit-diff-file-heading-selection     :foreground fg)
+   (magit-diff-hunk-heading               :background nano-subtle)
+   (magit-diff-hunk-heading-highlight     :foreground fg)
+   (magit-diff-hunk-heading-selection     :foreground fg)
+   (magit-diff-hunk-region                :foreground fg)
+   (magit-diff-lines-boundary             :foreground fg)
+   (magit-diff-lines-heading              :background nano-subtle :weight 'bold)
+   (magit-diff-our                        :foreground fg)
+   (magit-diff-our-highlight              :background highlight)
+   (magit-diff-removed                    :foreground nano-popout :weight 'bold)
+   (magit-diff-removed-highlight          :foreground nano-popout :weight 'bold)
+   (magit-diff-revision-summary           :foreground nano-popout)
+   (magit-diff-revision-summary-highlight :foreground fg)
+   (magit-diff-their                      :foreground fg)
+   (magit-diff-their-highlight            :background highlight)
+   (magit-diff-whitespace-warning         :background nano-subtle)
+   (magit-diffstat-added                  :foreground fg)
+   (magit-diffstat-removed                :foreground fg)
+   (magit-dimmed                          :foreground nano-faded)
+   (magit-filename                        :foreground fg)
+   (magit-hash                            :foreground nano-faded)
+   (magit-head                            :foreground fg)
+   (magit-header-line                     :foreground fg)
+   (magit-header-line-key                 :foreground fg)
+   (magit-header-line-log-select          :foreground fg)
+   (magit-keyword                         :foreground nano-salient)
+   (magit-keyword-squash                  :foreground nano-salient)
+   (magit-log-author                      :foreground fg)
+   (magit-log-date                        :foreground fg)
+   (magit-log-graph                       :foreground fg)
+   (magit-mode-line-process               :foreground fg)
+   (magit-mode-line-process-error         :foreground nano-critical)
+   (magit-process-ng                      :foreground fg)
+   (magit-process-ok                      :foreground fg)
+   (magit-reflog-amend                    :foreground fg)
+   (magit-reflog-checkout                 :foreground fg)
+   (magit-reflog-cherry-pick              :foreground fg)
+   (magit-reflog-commit                   :foreground fg)
+   (magit-reflog-merge                    :foreground fg)
+   (magit-reflog-other                    :foreground fg)
+   (magit-reflog-rebase                   :foreground fg)
+   (magit-reflog-remote                   :foreground fg)
+   (magit-reflog-reset                    :foreground fg)
+   (magit-refname                         :foreground fg)
+   (magit-refname-pullreq                 :foreground fg)
+   (magit-refname-stash                   :foreground fg)
+   (magit-refname-wip                     :foreground fg)
+   (magit-section-heading                 :foreground nano-salient :weight 'bold)
+   (magit-section-heading-selection       :foreground fg)
+   (magit-section-highlight               :background highlight)
+   (magit-section-secondary-heading       :foreground fg)
+   (magit-sequence-done                   :foreground fg)
+   (magit-sequence-drop                   :foreground fg)
+   (magit-sequence-exec                   :foreground fg)
+   (magit-sequence-head                   :foreground fg)
+   (magit-sequence-onto                   :foreground fg)
+   (magit-sequence-part                   :foreground fg)
+   (magit-sequence-pick                   :foreground fg)
+   (magit-sequence-stop                   :foreground fg)
+   (magit-signature-bad                   :foreground fg)
+   (magit-signature-error                 :foreground fg)
+   (magit-signature-expired               :foreground fg)
+   (magit-signature-expired-key           :foreground fg)
+   (magit-signature-good                  :foreground fg)
+   (magit-signature-revoked               :foreground fg)
+   (magit-signature-untrusted             :foreground fg)
+   (magit-tag                             :foreground nano-strong)
+
+   ;; === Marginalia ===========================================================
+
+   (marginalia-archive         :foreground nano-faded)
+   (marginalia-char            :foreground nano-faded)
+   (marginalia-date            :foreground nano-faded)
+   (marginalia-documentation   :foreground nano-faded)
+   (marginalia-file-name       :foreground nano-faded)
+   (marginalia-file-owner      :foreground nano-faded)
+   (marginalia-file-priv-dir   :foreground nano-faded)
+   (marginalia-file-priv-exec  :foreground nano-faded)
+   (marginalia-file-priv-link  :foreground nano-faded)
+   (marginalia-file-priv-no    :foreground nano-faded)
+   (marginalia-file-priv-other :foreground nano-faded)
+   (marginalia-file-priv-rare  :foreground nano-faded)
+   (marginalia-file-priv-read  :foreground nano-faded)
+   (marginalia-file-priv-write :foreground nano-faded)
+   (marginalia-function        :foreground nano-faded)
+   (marginalia-installed       :foreground nano-faded)
+   (marginalia-key             :foreground nano-faded)
+   (marginalia-lighter         :foreground nano-faded)
+   (marginalia-list            :foreground nano-faded)
+   (marginalia-mode            :foreground nano-faded)
+   (marginalia-modified        :foreground nano-faded)
+   (marginalia-null            :foreground nano-faded)
+   (marginalia-number          :foreground nano-faded)
+   (marginalia-off             :foreground nano-faded)
+   (marginalia-on              :foreground nano-faded)
+   (marginalia-size            :foreground nano-faded)
+   (marginalia-string          :foreground nano-faded)
+   (marginalia-symbol          :foreground nano-faded)
+   (marginalia-true            :foreground nano-faded)
+   (marginalia-type            :foreground nano-faded)
+   (marginalia-value           :foreground nano-faded)
+   (marginalia-version         :foreground nano-faded)
+
+   ;; === Message ==============================================================
+
+   (message-cited-text        :foreground nano-faded)
+   (message-cited-text-1      :foreground nano-faded)
+   (message-cited-text-2      :foreground nano-faded)
+   (message-cited-text-3      :foreground nano-faded)
+   (message-cited-text-4      :foreground nano-faded)
+   (message-header-cc         :foreground fg)
+   (message-header-name       :foreground nano-strong :weight 'bold)
+   (message-header-newsgroups :foreground fg)
+   (message-header-other      :foreground fg)
+   (message-header-subject    :foreground nano-salient)
+   (message-header-to         :foreground nano-salient)
+   (message-header-xheader    :foreground fg)
+   (message-mml               :foreground nano-popout)
+   (message-separator         :foreground nano-faded)
+
+   ;; === Modeline =============================================================
+
+   (mode-line          :foreground fg :background nano-subtle)
+   (mode-line-emphasis :foreground nano-strong :weight 'bold)
+
+   ;; === Packages =============================================================
+
+   (package-description       :foreground fg)
+   (package-help-section-name :foreground fg)
+   (package-name              :foreground nano-salient)
+   (package-status-avail-obso :foreground nano-faded)
+   (package-status-available  :foreground fg)
+   (package-status-built-in   :foreground nano-salient)
+   (package-status-dependency :foreground nano-salient)
+   (package-status-disabled   :foreground nano-faded)
+   (package-status-external   :foreground fg)
+   (package-status-held       :foreground fg)
+   (package-status-incompat   :foreground nano-faded)
+   (package-status-installed  :foreground nano-salient)
+   (package-status-new        :foreground fg)
+   (package-status-unsigned   :foreground fg)
+
+   ;; === Orderless ============================================================
+
+   (orderless-match-face-0 :foreground nano-salient :weight 'bold)
+   (orderless-match-face-1 :foreground nano-strong :weight 'bold)
+   (orderless-match-face-2 :foreground nano-strong :weight 'bold)
+   (orderless-match-face-3 :foreground nano-strong :weight 'bold)
+
+   ;; === Org mode =============================================================
+
+   (org-archived                 :foreground nano-faded)
+   (org-block                    :background highlight)
+   (org-block-begin-line         :background nano-subtle :foreground nano-faded)
+   (org-block-end-line           :background nano-subtle :foreground nano-faded)
+   (org-checkbox                 :foreground nano-faded)
+   (org-checkbox-statistics-done :foreground nano-faded)
+   (org-checkbox-statistics-todo :foreground nano-faded)
+   (org-clock-overlay            :foreground nano-faded)
+   (org-code                     :foreground nano-salient)
+   (org-column                   :foreground nano-faded)
+   (org-column-title             :foreground nano-faded)
+   (org-date                     :foreground nano-faded)
+   (org-date-selected            :foreground nano-popout)
+   (org-default                  :foreground nano-faded)
+   (org-document-info            :foreground nano-faded)
+   (org-document-info-keyword    :foreground nano-faded)
+   (org-document-title           :foreground nano-faded)
+   (org-done                     :foreground nano-faded)
+   (org-drawer                   :foreground nano-faded)
+   (org-ellipsis                 :foreground nano-faded)
+   (org-footnote                 :foreground nano-faded)
+   (org-formula                  :foreground nano-faded)
+   (org-headline-done            :foreground nano-faded)
+   (org-latex-and-related        :foreground nano-faded)
+   (org-level-1                  :foreground nano-strong :weight 'bold)
+   (org-level-2                  :foreground nano-strong :weight 'bold)
+   (org-level-3                  :foreground nano-strong :weight 'bold)
+   (org-level-4                  :foreground nano-strong :weight 'bold)
+   (org-level-5                  :foreground nano-strong :weight 'bold)
+   (org-level-6                  :foreground nano-strong :weight 'bold)
+   (org-level-7                  :foreground nano-strong :weight 'bold)
+   (org-level-8                  :foreground nano-strong :weight 'bold)
+   (org-link                     :foreground nano-salient)
+   (org-list-dt                  :foreground nano-faded)
+   (org-macro                    :foreground nano-faded)
+   (org-meta-line                :foreground nano-faded)
+   (org-mode-line-clock          :foreground nano-faded)
+   (org-mode-line-clock-overrun  :foreground nano-faded)
+   (org-priority                 :foreground nano-faded)
+   (org-property-value           :foreground nano-faded)
+   (org-quote                    :foreground nano-faded)
+   (org-scheduled                :foreground nano-faded)
+   (org-scheduled-previously     :foreground nano-faded)
+   (org-scheduled-today          :foreground nano-faded)
+   (org-sexp-date                :foreground nano-faded)
+   (org-special-keyword          :foreground nano-faded)
+   (org-table                    :foreground nano-faded)
+   (org-tag                      :foreground nano-popout)
+   (org-tag-group                :foreground nano-faded)
+   (org-target                   :foreground nano-faded)
+   (org-time-grid                :foreground nano-faded)
+   (org-todo                     :foreground nano-salient)
+   (org-upcoming-deadline        :foreground nano-popout)
+   (org-verbatim                 :foreground nano-popout)
+   (org-verse                    :foreground nano-faded)
+   (org-warning                  :foreground nano-popout)
+
+   ;; === Org-agenda ===========================================================
+
+   (org-agenda-calendar-event   :foreground fg)
+   (org-agenda-calendar-sexp    :foreground nano-salient)
+   (org-agenda-clocking         :foreground nano-faded)
+   (org-agenda-column-dateline  :foreground nano-faded)
+   (org-agenda-current-time     :foreground nano-salient :weight 'bold)
+   (org-agenda-date             :foreground nano-strong :weight 'bold)
+   (org-agenda-date-today       :foreground nano-salient :weight 'bold)
+   (org-agenda-date-weekend     :foreground nano-faded)
+   (org-agenda-diary            :foreground nano-faded)
+   (org-agenda-dimmed-todo-face :foreground nano-faded)
+   (org-agenda-done             :foreground nano-faded)
+   (org-agenda-filter-category  :foreground nano-faded)
+   (org-agenda-filter-effort    :foreground nano-faded)
+   (org-agenda-filter-regexp    :foreground nano-faded)
+   (org-agenda-filter-tags      :foreground nano-faded)
+   (org-agenda-property-face    :foreground nano-faded)
+   (org-agenda-restriction-lock :foreground nano-faded)
+   (org-agenda-structure        :foreground nano-strong :weight 'bold)
+
+   ;; === Popup ================================================================
+
+   (popup-face                       :foreground highlight)
+   (popup-isearch-match              :foreground nano-popout)
+   (popup-menu-face                  :foreground nano-subtle)
+   (popup-menu-mouse-face            :foreground bg :background nano-faded)
+   (popup-menu-selection-face        :foreground bg :background nano-salient)
+   (popup-menu-summary-face          :foreground nano-faded)
+   (popup-scroll-bar-background-face :foreground nano-subtle)
+   (popup-scroll-bar-foreground-face :foreground nano-subtle)
+   (popup-summary-face               :foreground nano-faded)
+   (popup-tip-face                   :foreground bg :background nano-popout)
+
+   ;; === Semantics ============================================================
+
+   (match  :foreground nano-popout)
+   (shadow :foreground nano-faded)
+
+   ;; === smerge ===============================================================
+
+   (smerge-lower           :background bg)
+   (smerge-markers         :background nano-subtle :weight 'bold :distant-foreground 'unspecified)
+   (smerge-refined-added   :foreground nano-salient :weight 'bold)
+   (smerge-refined-changed :foreground nano-popout)
+   (smerge-refined-removed :foreground nano-faded :strike-through t)
+   (smerge-upper           :background bg)
+
+   ;; === Structural ===========================================================
+
+   (bold              :foreground nano-strong :weight 'bold)
+   (bold-italic       :foreground nano-strong :weight 'bold)
+   (fixed-pitch       :foreground fg)
+   (fixed-pitch-serif :foreground fg)
+   (fringe            :foreground nano-faded)
+   (hl-line           :background highlight)
+   (italic            :foreground nano-faded :slant 'italic)
+   (link              :foreground nano-salient)
+   (region            :background nano-subtle :distant-foreground 'unspecified)
+
+   ;; === Terminal =============================================================
+
+   (term-bold          :foreground nano-strong :weight 'bold)
+   (term-color-black   :foreground fg)
+   (term-color-blue    :foreground blue :background bright-blue)
+   (term-color-cyan    :foreground cyan :background bright-cyan)
+   (term-color-green   :foreground green :background bright-green)
+   (term-color-magenta :foreground magenta :background bright-magenta)
+   (term-color-red     :foreground red :background bright-red)
+   (term-color-yellow  :foreground yellow :background bright-yellow)
+
+   ;; === Transient ============================================================
+
+   ;; Set only faces that influence Magit.
+   (transient-value :foreground fg)
+
+   ;; === Vertico ==============================================================
+
+   (vertico-current         :background nano-subtle :weight 'bold)
+   (vertico-group-separator :foreground nano-faded)
+   (vertico-group-title     :foreground nano-faded)
+   (vertico-multiline       :foreground nano-faded)
+
+   ;;; === Vterm ===============================================================
+
+   (vterm-color-black   :foreground fg :background fg)
+   (vterm-color-blue    :foreground blue :background bright-blue)
+   (vterm-color-cyan    :foreground cyan :background bright-cyan)
+   (vterm-color-green   :foreground green :background bright-green)
+   (vterm-color-magenta :foreground magenta :background bright-magenta)
+   (vterm-color-red     :foreground red :background bright-red)
+   (vterm-color-yellow  :foreground yellow :background bright-yellow)
+   (vterm-color-white   :foreground grey :background grey)
+
+   ;; === Workspaces ===========================================================
+
+   (+workspace-tab-selected-face :foreground nano-salient :weight 'bold)
+
+   ;; === Which key ============================================================
+
+   (which-key-command-description-face   :foreground fg)
+   (which-key-key-face                   :foreground nano-strong :weight 'bold)
+   (which-key-key-group-description-face :foreground nano-salient)))
+
+(provide 'doom-nano-light-theme)
+
+;;; doom-nano-light-theme.el ends here