feat: new theme
All checks were successful
Node.js CI / Lint and Test (push) Successful in 1m18s
Code Analysis / SonarQube (push) Successful in 1m18s

This commit is contained in:
Naomi Carrigan 2025-03-01 02:09:11 -08:00
parent 543edcf899
commit 73a44b0bf9
Signed by: naomi
SSH Key Fingerprint: SHA256:rca1iUI2OhAM6n4FIUaFcZcicmri0jgocqKiTTAfrt8

View File

@ -2790,12 +2790,12 @@ All of these files go in `~/.config/waybar`.
font-family: "OpenDyslexicM Nerd Font"; font-family: "OpenDyslexicM Nerd Font";
font-weight: bold; font-weight: bold;
font-size: 10px; font-size: 10px;
color: #00ebc7; color: #ffefef;
text-shadow: 0px 0px 5px; text-shadow: 0px 0px 5px;
} }
window#waybar { window#waybar {
background: rgba(0, 71, 60, 0.6); background: rgba(219, 112, 147, 0.6);
} }
#workspaces button { #workspaces button {
@ -2803,43 +2803,43 @@ window#waybar {
} }
#workspaces button:hover { #workspaces button:hover {
background-color: rgba(0, 71, 60, 0.6); background-color: rgba(219, 112, 147, 0.6);
padding: 2px 0px; padding: 2px 0px;
} }
tooltip { tooltip {
color: #00ebc7; color: #ffefef;
border: solid; border: solid;
border-radius: 7px; border-radius: 7px;
border-width: 1px; border-width: 1px;
border-color: #00ebc7; border-color: #ffefef;
background-color: rgba(0, 71, 60, 0.6); background-color: rgba(219, 112, 147, 0.6);
} }
.module { .module {
background-color: rgba(0, 71, 60, 0.6); background-color: rgba(219, 112, 147, 0.6);
border: solid; border: solid;
border-radius: 10px; border-radius: 10px;
border-width: 1px; border-width: 1px;
border-color: #00ebc7; border-color: #ffefef;
padding: 0px 4px; padding: 0px 4px;
margin: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;
} }
.modules-left .module { .modules-left .module {
margin-right: 6px; margin-right: 6px;
box-shadow: 2px 2px 3px #00ebc777; box-shadow: 2px 2px 3px #ffefef77;
} }
.modules-right .module { .modules-right .module {
margin-left: 6px; margin-left: 6px;
box-shadow: -2px 2px 3px #00ebc777; box-shadow: -2px 2px 3px #ffefef77;
} }
.modules-center .module { .modules-center .module {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
box-shadow: 0px 2px 3px #00ebc777; box-shadow: 0px 2px 3px #ffefef77;
} }
#custom-arch, #custom-arch,
@ -3019,37 +3019,37 @@ This goes in `~/.config/ghostty/config` (without a file extension).
```ini ```ini
font-family="OpenDyslexicM Nerd Font" font-family="OpenDyslexicM Nerd Font"
theme="OceanBreeze" theme="SakuraDreams"
background-opacity=0.7 background-opacity=1
gtk-titlebar=false gtk-titlebar=false
``` ```
And this goes in `~/.config/ghostty/themes/OceanBreeze`. And this goes in `~/.config/ghostty/themes/SakuraDreams`.
```ini ```ini
palette = 0=#022b23 palette = 0=#fff0f5
palette = 1=#ff6b6b palette = 1=#ff1493
palette = 2=#4ddbba palette = 2=#ff69b4
palette = 3=#ffd93d palette = 3=#ffb6c1
palette = 4=#6bc5ff palette = 4=#db7093
palette = 5=#ff92df palette = 5=#ff85a2
palette = 6=#89ffea palette = 6=#ffafc5
palette = 7=#c4fcf2 palette = 7=#ffd1dc
palette = 8=#044a3c palette = 8=#ffe4e8
palette = 9=#ff8585 palette = 9=#ff0066
palette = 10=#6bedcc palette = 10=#ff77a8
palette = 11=#ffe074 palette = 11=#ffa6c9
palette = 12=#92d5ff palette = 12=#f08080
palette = 13=#ffb2e7 palette = 13=#ff9aac
palette = 14=#a9fff0 palette = 14=#ffc0cb
palette = 15=#e2fcf8 palette = 15=#fff5f7
background = #012a22 background = #ffefef
background-blur-radius = 20 background-blur-radius = 20
foreground = #abfcec foreground = #d87093
selection-background = #1a7765 selection-background = #ffb6c1
selection-foreground = #d2fcf4 selection-foreground = #800020
cursor-color = #abfcec cursor-color = #ff69b4
cursor-text = #04624f cursor-text = #fff0f5
``` ```
### 3.7 Discord ### 3.7 Discord
@ -3233,30 +3233,27 @@ This file goes in `~/.config/wofi/style.css`.
```css ```css
#window { #window {
background-color: rgba(4, 98, 79, 0.33); background-color: rgba(219, 112, 147, 0.75);
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
border-radius: 1rem; border-radius: 1rem;
font-size: 1.2rem; font-size: 1.2rem;
font-family: "OpenDyslexicM Nerd Font"; font-family: "OpenDyslexicM Nerd Font";
} }
#window #outer-box #input { #window #outer-box #input {
background-color: rgba(4, 98, 79, 0.33); background-color: rgba(219, 112, 147, 0.75);
color: #abfcec; color: #ffefef;
border: none; border: none;
border-bottom: 1px solid rgba(24, 24, 24, 0.2); border-bottom: 1px solid rgba(24, 24, 24, 0.2);
padding: 0.8rem 1rem; padding: 0.8rem 1rem;
font-size: 1.5rem; font-size: 1.5rem;
border-radius: 1rem 1rem 0 0; border-radius: 1rem 1rem 0 0;
} }
#window #outer-box #input:focus, #window #outer-box #input:focus, #window #outer-box #input:focus-visible, #window #outer-box #input:active {
#window #outer-box #input:focus-visible,
#window #outer-box #input:active {
border: none; border: none;
outline: 2px solid transparent; outline: 2px solid transparent;
outline-offset: 2px; outline-offset: 2px;
} }
#window #outer-box #scroll #inner-box #entry { #window #outer-box #scroll #inner-box #entry {
color: #fff; color: #ffefef;
background-color: rgba(24, 24, 24, 0.1); background-color: rgba(24, 24, 24, 0.1);
padding: 0.6rem 1rem; padding: 0.6rem 1rem;
} }
@ -3265,10 +3262,18 @@ This file goes in `~/.config/wofi/style.css`.
margin-right: 0.5rem; margin-right: 0.5rem;
} }
#window #outer-box #scroll #inner-box #entry:selected { #window #outer-box #scroll #inner-box #entry:selected {
color: #fff; color: #ffefef;
background-color: rgba(255, 255, 255, 0.1); background-color: rgba(255, 255, 255, 0.1);
outline: none; outline: none;
} }
#text:selected {
color: rgb(219, 112, 147);
background-color: #ffefef;
}
#img:selected {
background: none;
}
``` ```
### 3.10 Dunst ### 3.10 Dunst
@ -3293,11 +3298,11 @@ This file goes in `~/.config/wofi/style.css`.
mouse_middle_click=none mouse_middle_click=none
font=OpenDyslexicMono 12 font=OpenDyslexicMono 12
format="<b>%a - %s</b>\n<big>%b</big>" format="<b>%a - %s</b>\n<big>%b</big>"
background="#00473c99" background="#db709399"
foreground="#abfcec" foreground="#ffefef"
max_icon_size=32 max_icon_size=32
icon_corner_radius=10 icon_corner_radius=10
frame_color="#abfcec" frame_color="#ffefef"
``` ```
## 4. Code Editor ## 4. Code Editor
@ -3485,7 +3490,7 @@ ms-vscode.cpptools
ms-vscode.cpptools-extension-pack ms-vscode.cpptools-extension-pack
ms-vscode.cpptools-themes ms-vscode.cpptools-themes
mskelton.npm-outdated mskelton.npm-outdated
nhcarrigan.ocean-breeze nhcarrigan.naomis-themes
oderwat.indent-rainbow oderwat.indent-rainbow
oracle.oracle-java oracle.oracle-java
prisma.prisma prisma.prisma
@ -3516,3 +3521,275 @@ yutengjing.vscode-colorize-plus
yzane.markdown-pdf yzane.markdown-pdf
ziglang.vscode-zig ziglang.vscode-zig
``` ```
### 4.3. Emacs
Naomi uses `emacs` for her terminal editing.
#### 4.3.1. Config
This goes in `~/.config/emacs/init.el`.
```lisp
;; Initialize package system
(require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
("org" . "https://orgmode.org/elpa/")
("elpa" . "https://elpa.gnu.org/packages/")))
(package-initialize)
;; Bootstrap use-package
(unless (package-installed-p 'use-package)
(package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
;; Terminal-specific settings
(xterm-mouse-mode 1) ; Enable mouse support
(global-set-key (kbd "<mouse-4>") 'scroll-down-line)
(global-set-key (kbd "<mouse-5>") 'scroll-up-line)
(menu-bar-mode -1) ; Disable menu bar in terminal
;; Better terminal colors
(use-package eterm-256color
:hook (term-mode . eterm-256color-mode))
;; Line numbers configuration
(global-display-line-numbers-mode 1) ; Enable line numbers globally
(setq display-line-numbers-type t)
;; Make line numbers stand out a bit
(set-face-background 'line-number-current-line nil)
(set-face-foreground 'line-number-current-line "yellow")
;; Optional: Customize line number format
(setq display-line-numbers-width 4) ; Reserve space for line numbers
(setq display-line-numbers-widen t) ; Expand line number space as needed
;; Disable line numbers for some modes where they don't make sense
(dolist (mode '(term-mode-hook
shell-mode-hook
treemacs-mode-hook
eshell-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0))))
;; Project management
(use-package projectile
:config
(projectile-mode +1)
:bind-keymap ("C-c p" . projectile-command-map))
;; File tree with treemacs
(use-package treemacs
:bind
(:map global-map
("C-c t" . treemacs))
:config
(treemacs-follow-mode t)
(treemacs-project-follow-mode t))
(use-package treemacs-projectile
:after (treemacs projectile))
;; LSP Mode base configuration
(use-package lsp-mode
:init
(setq lsp-keymap-prefix "C-c l"
lsp-enable-symbol-highlighting t
lsp-enable-snippet t
lsp-enable-indentation t)
:hook
((typescript-mode . lsp)
(js2-mode . lsp)
(web-mode . lsp)
(python-mode . lsp)
(java-mode . lsp)
(c++-mode . lsp)
(c-mode . lsp)
(csharp-mode . lsp))
:commands lsp)
;; LSP UI enhancements
(use-package lsp-ui
:commands lsp-ui-mode
:config
(setq lsp-ui-doc-enable t
lsp-ui-doc-position 'at-point))
(use-package typescript-mode
:mode ("\\.ts\\'")
:hook (typescript-mode . (lambda () (setq typescript-indent-level 2))))
(use-package web-mode
:mode (("\\.tsx\\'" . web-mode)
("\\.jsx\\'" . web-mode))
:config
(setq web-mode-markup-indent-offset 2
web-mode-css-indent-offset 2
web-mode-code-indent-offset 2)
web-mode-json-indent-offset 2)
;; JavaScript better syntax highlighting
(use-package js2-mode
:mode "\\.js\\'")
(setq js-indent-level 2)
(use-package csharp-mode
:config
(add-to-list 'auto-mode-alist '("\\.cs\\'" . csharp-mode)))
(use-package ccls
:hook ((c-mode c++-mode) . (lambda () (require 'ccls) (lsp))))
(use-package lsp-java
:config (add-hook 'java-mode-hook 'lsp))
(use-package kotlin-mode)
(use-package python-mode
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp))))
(use-package lsp-pyright
:ensure t)
(use-package markdown-mode
:mode (("README\\.md\\'" . gfm-mode)
("\\.md\\'" . markdown-mode)
("\\.mdx\\'" . markdown-mode))
:init (setq markdown-command "multimarkdown"))
(use-package git-gutter
:config
(global-git-gutter-mode +1))
(use-package hl-todo
:config
(setq hl-todo-keyword-faces
'(("TODO" . "#FF0000")
("FIXME" . "#FF0000")
("DEBUG" . "#A020F0")
("GOTCHA" . "#FF4500")
("STUB" . "#1E90FF")))
(global-hl-todo-mode))
(use-package elcord)
(elcord-mode)
;; Redirect backup files
(setq backup-directory-alist `(("." . "~/.config/emacs/backups")))
;; Redirect auto-save files
(setq auto-save-file-name-transforms `((".*" "~/.config/emacs/auto-saves/" t)))
(setq backup-by-copying t)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages
'(hl-todo format-all flycheck git-gutter lsp-pyright python-mode kotlin-mode lsp-java ccls js2-mode web-mode typescript-mode lsp-ui lsp-mode treemacs-projectile treemacs projectile eterm-256color)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(setq-default indent-tabs-mode nil)
(setq-default tab-width 2)
(setq indent-line-function 'insert-tab)
(add-to-list 'custom-theme-load-path "/home/naomi/.config/emacs/themes/")
(load-theme 'sakura-dreams t)
```
#### 4.3.2. Theme
This goes in `~/.config/emacs/themes/sakura-dreams-theme.el`.
```lisp
(deftheme sakura-dreams
"A light pink Emacs theme inspired by cherry blossoms.")
;; Set frame transparency
(set-frame-parameter nil 'alpha-background 0)
(add-to-list 'default-frame-alist '(alpha-background . 0))
(let ((class '((class color) (min-colors 89)))
;; Core colors
(bg "unspecified-bg")
(bg-light "#fff0f5")
(bg-lighter "#ffeef3")
(fg "#7a2048")
(fg-dark "#5a1737")
(selection-bg "#ffd6e0")
(selection-fg "#7a2048")
(cursor "#ff69b4")
;; ANSI color palette
(black "#fff0f5")
(red "#ff1493")
(green "#ff69b4")
(yellow "#ffb6c1")
(blue "#db7093")
(magenta "#ff85a2")
(cyan "#ffafc5")
(white "#ffd1dc")
;; Bright ANSI colors
(bright-black "#ffe4e8")
(bright-red "#ff0066")
(bright-green "#ff77a8")
(bright-yellow "#ffa6c9")
(bright-blue "#f08080")
(bright-magenta "#ff9aac")
(bright-cyan "#ffc0cb")
(bright-white "#fff5f7"))
(custom-theme-set-faces
'sakura-dreams
;; Basic faces
`(default ((,class (:foreground ,fg :background ,bg))))
`(cursor ((,class (:background ,cursor))))
`(region ((,class (:background ,selection-bg :foreground ,selection-fg))))
`(highlight ((,class (:background ,selection-bg))))
`(hl-line ((,class (:background ,bg-light))))
`(fringe ((,class (:background ,bg))))
`(vertical-border ((,class (:foreground ,bg-lighter))))
;; Font-lock faces
`(font-lock-builtin-face ((,class (:foreground ,magenta))))
`(font-lock-comment-face ((,class (:foreground ,bright-blue :italic t))))
`(font-lock-constant-face ((,class (:foreground ,cyan))))
`(font-lock-doc-face ((,class (:foreground ,green))))
`(font-lock-function-name-face ((,class (:foreground ,blue))))
`(font-lock-keyword-face ((,class (:foreground ,magenta))))
`(font-lock-string-face ((,class (:foreground ,green))))
`(font-lock-type-face ((,class (:foreground ,yellow))))
`(font-lock-variable-name-face ((,class (:foreground ,fg))))
`(font-lock-warning-face ((,class (:foreground ,red))))
;; Mode line
`(mode-line ((,class (:background ,bright-cyan :foreground ,fg))))
`(mode-line-inactive ((,class (:background ,bg-light :foreground ,bright-blue))))
;; Search
`(isearch ((,class (:background ,yellow :foreground ,fg-dark))))
`(lazy-highlight ((,class (:background ,bright-yellow :foreground ,fg-dark))))
;; Others
`(minibuffer-prompt ((,class (:foreground ,blue))))
`(link ((,class (:foreground ,bright-magenta :underline t))))
`(show-paren-match ((,class (:background ,selection-bg :foreground ,bright-red))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,white))))))
;;;###autoload
(when load-file-name
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'sakura-dreams)
```