Compare commits

...

8 Commits

Author SHA1 Message Date
Matt Anderson
e85d124e24 eeeeee bg for light 2026-07-24 14:02:26 -05:00
mannders00
673239f5d7 nvim and tmux colors 2026-07-16 09:20:41 -05:00
mannders00
a67a930dca monodark monolight 2026-07-14 09:33:13 -05:00
mannders00
62108214cc more variations of org filters for different areas of my life 2026-06-30 18:42:17 -05:00
Matt Anderson
959d94f5d6 k9s themes for base16 default 2026-06-23 11:11:13 -05:00
Matt Anderson
97b19d3e14 base16 light mode has computed higher contrast colors, with some opencode theme adjustments to use same colors but line up with neovim syntax groups 2026-06-23 11:00:46 -05:00
Matt Anderson
f9d2fbe5ec transparent k9s with base16 terminal works well 2026-06-22 10:11:15 -05:00
Matt Anderson
16e7ebbb98 opencode base16 default native themes 2026-06-22 10:10:31 -05:00
15 changed files with 440 additions and 32 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
k9s/.config/k9s/clusters/**

View File

@@ -1,4 +1,4 @@
theme = dark:default-dark,light:default-light theme = dark:monodark,light:monolight
# enforce legible text on washed-out colors (esp. light theme) # enforce legible text on washed-out colors (esp. light theme)
minimum-contrast = 1.15 minimum-contrast = 1.15

View File

@@ -1,5 +1,10 @@
# Scheme: Default Light # Scheme: Default Light
# Generated by Ghostty Base16 Converter # Generated by Ghostty Base16 Converter
# NOTE: accent slots darkened from stock base16 to clear WCAG AA on the light
# background (#f8f8f8). base16 holds accents constant across modes, which leaves
# them washed out on white; these are hue-preserved AA (>=4.5) variants.
# Dark theme (default-dark) keeps the canonical base16 values. red/brown already
# passed and are unchanged. nvim inherits these via ctermfg (notermguicolors).
background = f8f8f8 background = f8f8f8
foreground = 383838 foreground = 383838
@@ -8,21 +13,21 @@ selection-foreground = f8f8f8
palette = 0=#f8f8f8 palette = 0=#f8f8f8
palette = 1=#ab4642 palette = 1=#ab4642
palette = 2=#a1b56c palette = 2=#66763b
palette = 3=#f7ca88 palette = 3=#9e620b
palette = 4=#7cafc2 palette = 4=#41788c
palette = 5=#ba8baf palette = 5=#9c5d8d
palette = 6=#86c1b9 palette = 6=#3e7a72
palette = 7=#383838 palette = 7=#383838
palette = 8=#b8b8b8 palette = 8=#b8b8b8
palette = 9=#ab4642 palette = 9=#ab4642
palette = 10=#a1b56c palette = 10=#66763b
palette = 11=#f7ca88 palette = 11=#9e620b
palette = 12=#7cafc2 palette = 12=#41788c
palette = 13=#ba8baf palette = 13=#9c5d8d
palette = 14=#86c1b9 palette = 14=#3e7a72
palette = 15=#181818 palette = 15=#181818
palette = 16=#dc9656 palette = 16=#a56122
palette = 17=#a16946 palette = 17=#a16946
palette = 18=#e8e8e8 palette = 18=#e8e8e8
palette = 19=#d8d8d8 palette = 19=#d8d8d8

View File

@@ -0,0 +1,31 @@
# Scheme: Mono Dark
# Two-color monochrome variant of default-dark: same bg, fg replaces every
# text color. Slot 0 stays bg (TUIs use it as a background color).
background = 181818
foreground = d8d8d8
selection-background = d8d8d8
selection-foreground = 181818
palette = 0=#181818
palette = 1=#d8d8d8
palette = 2=#d8d8d8
palette = 3=#d8d8d8
palette = 4=#d8d8d8
palette = 5=#d8d8d8
palette = 6=#d8d8d8
palette = 7=#d8d8d8
palette = 8=#d8d8d8
palette = 9=#d8d8d8
palette = 10=#d8d8d8
palette = 11=#d8d8d8
palette = 12=#d8d8d8
palette = 13=#d8d8d8
palette = 14=#d8d8d8
palette = 15=#d8d8d8
palette = 16=#d8d8d8
palette = 17=#d8d8d8
palette = 18=#d8d8d8
palette = 19=#d8d8d8
palette = 20=#d8d8d8
palette = 21=#d8d8d8

View File

@@ -0,0 +1,31 @@
# Scheme: Mono Light
# Two-color monochrome variant of default-light: same bg, fg replaces every
# text color. Slot 0 stays bg (TUIs use it as a background color).
background = eeeeee
foreground = 383838
selection-background = 383838
selection-foreground = f8f8f8
palette = 0=#f8f8f8
palette = 1=#383838
palette = 2=#383838
palette = 3=#383838
palette = 4=#383838
palette = 5=#383838
palette = 6=#383838
palette = 7=#383838
palette = 8=#383838
palette = 9=#383838
palette = 10=#383838
palette = 11=#383838
palette = 12=#383838
palette = 13=#383838
palette = 14=#383838
palette = 15=#383838
palette = 16=#383838
palette = 17=#383838
palette = 18=#383838
palette = 19=#383838
palette = 20=#383838
palette = 21=#383838

View File

@@ -4,12 +4,15 @@ k9s:
active: cp1-ns active: cp1-ns
lockFavorites: false lockFavorites: false
favorites: favorites:
- all - matt-dp
- cp1-ns - kube-public
- default - cert-manager
- cp-automation-dp
- all
- cp1-ns
- default
view: view:
active: namespace active: v1/namespaces
featureGates: featureGates:
nodeShell: false nodeShell: false
portForwardAddress: localhost
proxy: null proxy: null

View File

@@ -13,7 +13,7 @@ k9s:
reactive: false reactive: false
noIcons: false noIcons: false
defaultsToFullScreen: false defaultsToFullScreen: false
skin: ember skin: default-light
skipLatestRevCheck: false skipLatestRevCheck: false
disablePodCounting: false disablePodCounting: false
shellPod: shellPod:

View File

@@ -3,12 +3,12 @@
appearance=$(defaults read -g AppleInterfaceStyle 2>/dev/null) appearance=$(defaults read -g AppleInterfaceStyle 2>/dev/null)
if [[ "$appearance" = "Dark" ]]; then if [[ "$appearance" = "Dark" ]]; then
skin="ember" skin="default-dark"
else else
skin="ember-light" skin="default-light"
fi fi
config_file="$HOME/dotfiles/k9s/.config/k9s/config.yaml" config_file="$HOME/doc/dev/dotfiles/k9s/.config/k9s/config.yaml"
if [[ -f "$config_file" ]]; then if [[ -f "$config_file" ]]; then
sed -i '' "s/skin: .*/skin: $skin/" "$config_file" sed -i '' "s/skin: .*/skin: $skin/" "$config_file"

View File

@@ -0,0 +1,114 @@
# Default Dark — base16 default dark k9s skin
# Colors hardcoded from ghostty default-dark theme (base16 default).
# Backgrounds are explicit (not transparent) so k9s renders consistently
# regardless of terminal theme handling.
foreground: &foreground "#d8d8d8"
background: &background "#181818"
black: &black "#181818"
blue: &blue "#7cafc2"
green: &green "#a1b56c"
grey: &grey "#585858"
orange: &orange "#dc9656"
purple: &purple "#ba8baf"
red: &red "#ab4642"
yellow: &yellow "#f7ca88"
cyan: &cyan "#86c1b9"
k9s:
body:
fgColor: *foreground
bgColor: *background
logoColor: *green
prompt:
fgColor: *foreground
bgColor: *background
suggestColor: *orange
info:
fgColor: *foreground
sectionColor: *green
help:
fgColor: *foreground
bgColor: *background
keyColor: *yellow
numKeyColor: *blue
sectionColor: *purple
dialog:
fgColor: *foreground
bgColor: *background
buttonFgColor: *background
buttonBgColor: *green
buttonFocusFgColor: *background
buttonFocusBgColor: *blue
labelFgColor: *orange
fieldFgColor: *blue
frame:
border:
fgColor: *grey
focusColor: *blue
menu:
fgColor: *foreground
keyColor: *yellow
numKeyColor: *yellow
crumbs:
fgColor: *background
bgColor: *green
activeColor: *yellow
status:
newColor: *blue
modifyColor: *green
addColor: *foreground
pendingColor: *orange
errorColor: *red
highlightColor: *yellow
killColor: *purple
completedColor: *grey
title:
fgColor: *blue
bgColor: *background
highlightColor: *purple
counterColor: *foreground
filterColor: *blue
views:
charts:
bgColor: *background
defaultDialColors:
- *green
- *red
defaultChartColors:
- *green
- *red
table:
fgColor: *foreground
bgColor: *background
cursorFgColor: *background
cursorBgColor: *blue
markColor: *orange
header:
fgColor: *foreground
bgColor: *background
sorterColor: *orange
selectedSortColumnColor: *foreground
xray:
fgColor: *foreground
bgColor: *background
cursorColor: *blue
graphicColor: *orange
showIcons: false
yaml:
keyColor: *blue
colonColor: *grey
valueColor: *foreground
logs:
fgColor: *foreground
bgColor: *background
indicator:
fgColor: *blue
bgColor: *background
toggleOnColor: *green
toggleOffColor: *grey
help:
fgColor: *foreground
bgColor: *background
indicator:
fgColor: *blue

View File

@@ -0,0 +1,115 @@
# Default Light — base16 default light (contrast-modified) k9s skin
# Colors hardcoded from ghostty default-light theme. Accents are the
# hue-preserved WCAG AA variants darkened for the #f8f8f8 background.
# Backgrounds are explicit (not transparent) so k9s renders consistently
# regardless of terminal theme handling.
foreground: &foreground "#383838"
background: &background "#f8f8f8"
white: &white "#f8f8f8"
blue: &blue "#41788c"
green: &green "#66763b"
grey: &grey "#585858"
orange: &orange "#a56122"
purple: &purple "#9c5d8d"
red: &red "#ab4642"
yellow: &yellow "#9e620b"
cyan: &cyan "#3e7a72"
k9s:
body:
fgColor: *foreground
bgColor: *background
logoColor: *green
prompt:
fgColor: *foreground
bgColor: *background
suggestColor: *orange
info:
fgColor: *foreground
sectionColor: *green
help:
fgColor: *foreground
bgColor: *background
keyColor: *yellow
numKeyColor: *blue
sectionColor: *purple
dialog:
fgColor: *foreground
bgColor: *background
buttonFgColor: *white
buttonBgColor: *green
buttonFocusFgColor: *white
buttonFocusBgColor: *blue
labelFgColor: *orange
fieldFgColor: *blue
frame:
border:
fgColor: *grey
focusColor: *blue
menu:
fgColor: *foreground
keyColor: *yellow
numKeyColor: *yellow
crumbs:
fgColor: *white
bgColor: *green
activeColor: *yellow
status:
newColor: *blue
modifyColor: *green
addColor: *foreground
pendingColor: *orange
errorColor: *red
highlightColor: *yellow
killColor: *purple
completedColor: *grey
title:
fgColor: *blue
bgColor: *background
highlightColor: *purple
counterColor: *foreground
filterColor: *blue
views:
charts:
bgColor: *background
defaultDialColors:
- *green
- *red
defaultChartColors:
- *green
- *red
table:
fgColor: *foreground
bgColor: *background
cursorFgColor: *white
cursorBgColor: *blue
markColor: *orange
header:
fgColor: *foreground
bgColor: *background
sorterColor: *orange
selectedSortColumnColor: *foreground
xray:
fgColor: *foreground
bgColor: *background
cursorColor: *blue
graphicColor: *orange
showIcons: false
yaml:
keyColor: *blue
colonColor: *grey
valueColor: *foreground
logs:
fgColor: *foreground
bgColor: *background
indicator:
fgColor: *blue
bgColor: *background
toggleOnColor: *green
toggleOffColor: *grey
help:
fgColor: *foreground
bgColor: *background
indicator:
fgColor: *blue

View File

@@ -65,6 +65,15 @@ require('lazy').setup({
org_startup_indented = true, org_startup_indented = true,
org_deadline_warning_days = 0, org_deadline_warning_days = 0,
org_agenda_custom_commands = { org_agenda_custom_commands = {
p = {
description = "Personal",
types = {
{
type = 'agenda',
org_agenda_tag_filter_preset = 'personal'
}
}
},
w = { w = {
description = "Work", description = "Work",
types = { types = {
@@ -74,12 +83,21 @@ require('lazy').setup({
} }
} }
}, },
p = { m = {
description = "Personal", description = "Milestones",
types = { types = {
{ {
type = 'agenda', type = 'agenda',
org_agenda_tag_filter_preset = 'personal' org_agenda_tag_filter_preset = 'milestone'
}
}
},
s = {
description = "Social",
types = {
{
type = 'agenda',
org_agenda_tag_filter_preset = 'social'
} }
} }
}, },

View File

@@ -34,9 +34,10 @@ vim.cmd([[
autocmd ColorScheme * highlight Constant ctermfg=3 autocmd ColorScheme * highlight Constant ctermfg=3
autocmd ColorScheme * highlight String ctermfg=2 autocmd ColorScheme * highlight String ctermfg=2
autocmd ColorScheme * highlight Comment cterm=italic ctermfg=lightgray autocmd ColorScheme * highlight Comment cterm=italic ctermfg=lightgray
autocmd ColorScheme * highlight Folded cterm=italic ctermfg=lightgray ctermbg=18 autocmd ColorScheme * highlight Visual cterm=reverse ctermfg=NONE ctermbg=NONE
syntax on syntax on
set notermguicolors set notermguicolors
colorscheme default colorscheme default
]]) ]])
-- autocmd ColorScheme * highlight Folded cterm=italic ctermfg=lightgray ctermbg=18

View File

@@ -1,3 +1,11 @@
{ {
"$schema": "https://opencode.ai/config.json" "$schema": "https://opencode.ai/config.json",
"theme": "base16-default",
"mcp": {
"playwright": {
"type": "local",
"command": ["npx", "@playwright/mcp@latest"],
"enabled": true
}
}
} }

View File

@@ -0,0 +1,80 @@
{
"$schema": "https://opencode.ai/theme.json",
"defs": {
"base00": "#181818",
"base01": "#282828",
"base02": "#383838",
"base03": "#585858",
"base04": "#b8b8b8",
"base05": "#d8d8d8",
"base06": "#e8e8e8",
"base07": "#f8f8f8",
"base08": "#86c1b9",
"base09": "#dc9656",
"base0A": "#f7ca88",
"base0B": "#a1b56c",
"base0C": "#ab4642",
"base0D": "#7cafc2",
"base0E": "#ba8baf",
"base0F": "#a16946",
"base09_l": "#a56122",
"base0A_l": "#9e620b",
"base0B_l": "#66763b",
"base08_l": "#3e7a72",
"base0D_l": "#41788c",
"base0E_l": "#9c5d8d"
},
"theme": {
"primary": { "dark": "base0D", "light": "base0D_l" },
"secondary": { "dark": "base0E", "light": "base0E_l" },
"accent": { "dark": "base0F", "light": "base0F" },
"error": { "dark": "base08", "light": "base08_l" },
"warning": { "dark": "base0A", "light": "base0A_l" },
"success": { "dark": "base0B", "light": "base0B_l" },
"info": { "dark": "base0C", "light": "base0C" },
"text": { "dark": "base05", "light": "base02" },
"textMuted": { "dark": "base03", "light": "base04" },
"background": { "dark": "base00", "light": "base07" },
"backgroundPanel": { "dark": "base01", "light": "base06" },
"backgroundElement": { "dark": "base02", "light": "base05" },
"border": { "dark": "base03", "light": "base04" },
"borderActive": { "dark": "base04", "light": "base03" },
"borderSubtle": { "dark": "base05", "light": "base02" },
"diffAdded": { "dark": "base0B", "light": "base0B_l" },
"diffRemoved": { "dark": "base08", "light": "base08_l" },
"diffContext": { "dark": "base03", "light": "base04" },
"diffHunkHeader": { "dark": "base09", "light": "base09_l" },
"diffHighlightAdded": { "dark": "base0B", "light": "base0B_l" },
"diffHighlightRemoved": { "dark": "base08", "light": "base08_l" },
"diffAddedBg": { "dark": "base01", "light": "base06" },
"diffRemovedBg": { "dark": "base01", "light": "base06" },
"diffContextBg": { "dark": "base01", "light": "base06" },
"diffLineNumber": { "dark": "base03", "light": "base04" },
"diffAddedLineNumberBg": { "dark": "base01", "light": "base06" },
"diffRemovedLineNumberBg": { "dark": "base01", "light": "base06" },
"markdownText": { "dark": "base05", "light": "base02" },
"markdownHeading": { "dark": "base0E", "light": "base0E_l" },
"markdownLink": { "dark": "base0D", "light": "base0D_l" },
"markdownLinkText": { "dark": "base0A", "light": "base0A_l" },
"markdownCode": { "dark": "base0B", "light": "base0B_l" },
"markdownBlockQuote": { "dark": "base0A", "light": "base0A_l" },
"markdownEmph": { "dark": "base0A", "light": "base0A_l" },
"markdownStrong": { "dark": "base09", "light": "base09_l" },
"markdownHorizontalRule": { "dark": "base04", "light": "base03" },
"markdownListItem": { "dark": "base0D", "light": "base0D_l" },
"markdownListEnumeration": { "dark": "base0A", "light": "base0A_l" },
"markdownImage": { "dark": "base0D", "light": "base0D_l" },
"markdownImageText": { "dark": "base0A", "light": "base0A_l" },
"markdownCodeBlock": { "dark": "base05", "light": "base02" },
"syntaxComment": { "dark": "base03", "light": "base04" },
"syntaxKeyword": { "dark": "base0E", "light": "base0E_l" },
"syntaxFunction": { "dark": "base0D", "light": "base0D_l" },
"syntaxVariable": { "dark": "base05", "light": "base02" },
"syntaxString": { "dark": "base0B", "light": "base0B_l" },
"syntaxNumber": { "dark": "base09", "light": "base09_l" },
"syntaxType": { "dark": "base0C", "light": "base0C" },
"syntaxOperator": { "dark": "base0A", "light": "base0A_l" },
"syntaxPunctuation": { "dark": "base05", "light": "base02" }
}
}

View File

@@ -44,7 +44,9 @@ set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # truecolor underline set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # truecolor underline
set -g status-style "fg=blue" set -g status-style "fg=blue"
# set -g window-status-style "dim"
set -g window-status-current-style "fg=blue" set -g window-status-current-style "fg=blue"
set -g pane-border-style "fg=default,dim"
set -g pane-active-border-style "fg=blue" set -g pane-active-border-style "fg=blue"
setw -g mode-keys vi setw -g mode-keys vi
@@ -52,18 +54,17 @@ bind -T copy-mode-vi 'v' send -X begin-selection
bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "pbcopy" bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "pbcopy"
# set -g status-right "#(date +'%I:%M %p')" # set -g status-right "#(date +'%I:%M %p')"
set -g status-right "#(date +'%A, %B %d, %Y')" # set -g status-right "#(date +'%A, %B %d, %Y')"
set -g status-right ""
# Activate OFF mode # Activate OFF mode (hide outer status entirely for nested tmux)
bind o \ bind o \
set prefix None \;\ set prefix None \;\
set key-table off \;\ set key-table off \;\
set status-style "fg=brightblack" \;\ set status off
set window-status-current-style "fg=brightblack"
# Disable OFF mode # Disable OFF mode
bind -T off O \ bind -T off O \
set -u prefix \;\ set -u prefix \;\
set -u key-table \;\ set -u key-table \;\
set -u status-style \;\ set -u status
set -u window-status-current-style