From af108afd845978d856afc162cb550645771693bd Mon Sep 17 00:00:00 2001 From: Matt Anderson Date: Thu, 6 Aug 2026 13:24:52 -0500 Subject: [PATCH] mono dark and light for k9s and nvim lsp keyboard modifications --- .gitignore | 2 +- ghostty/.config/ghostty/themes/monodark | 2 +- .../config.yaml | 10 +- k9s/.config/k9s/config.yaml | 2 +- k9s/.config/k9s/k9s-theme-sync.sh | 4 +- k9s/.config/k9s/skins/monodark.yaml | 108 ++++++++++++++++++ k9s/.config/k9s/skins/monolight.yaml | 108 ++++++++++++++++++ nvim-termux/.config/nvim/lua/settings.lua | 1 - nvim/.config/nvim/lua/lsp.lua | 32 +++++- nvim/.config/nvim/lua/maps.lua | 1 + nvim/.config/nvim/lua/settings.lua | 2 - 11 files changed, 257 insertions(+), 15 deletions(-) create mode 100644 k9s/.config/k9s/skins/monodark.yaml create mode 100644 k9s/.config/k9s/skins/monolight.yaml diff --git a/.gitignore b/.gitignore index 0363c85..176d5eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -./k9s/.config/k9s/clusters +./k9s/.config/k9s/clusters/** diff --git a/ghostty/.config/ghostty/themes/monodark b/ghostty/.config/ghostty/themes/monodark index 04f5ca5..cbb427b 100644 --- a/ghostty/.config/ghostty/themes/monodark +++ b/ghostty/.config/ghostty/themes/monodark @@ -7,7 +7,7 @@ foreground = d8d8d8 selection-background = d8d8d8 selection-foreground = 181818 -palette = 0=#181818 +palette = 0=#111111 palette = 1=#d8d8d8 palette = 2=#d8d8d8 palette = 3=#d8d8d8 diff --git a/k9s/.config/k9s/clusters/kubernetes/kubernetes-super-admin@kubernetes/config.yaml b/k9s/.config/k9s/clusters/kubernetes/kubernetes-super-admin@kubernetes/config.yaml index 644bdf5..9340d1e 100644 --- a/k9s/.config/k9s/clusters/kubernetes/kubernetes-super-admin@kubernetes/config.yaml +++ b/k9s/.config/k9s/clusters/kubernetes/kubernetes-super-admin@kubernetes/config.yaml @@ -1,16 +1,18 @@ k9s: cluster: kubernetes namespace: - active: cp-automation-bmdp + active: all lockFavorites: false favorites: - - cp-automation-bmdp + - z-admin + - auto-dp - vdp - - cp-automation-dp - all - cp1-ns - default - - nperf12-my-ns + - auto-bmdp + - cp-automation-bmdp + - cp-automation-dp view: active: v1/namespaces featureGates: diff --git a/k9s/.config/k9s/config.yaml b/k9s/.config/k9s/config.yaml index 3d5acb9..e673bb6 100644 --- a/k9s/.config/k9s/config.yaml +++ b/k9s/.config/k9s/config.yaml @@ -13,7 +13,7 @@ k9s: reactive: false noIcons: false defaultsToFullScreen: false - skin: default-dark + skin: monodark skipLatestRevCheck: false disablePodCounting: false shellPod: diff --git a/k9s/.config/k9s/k9s-theme-sync.sh b/k9s/.config/k9s/k9s-theme-sync.sh index dfded6e..514aa63 100755 --- a/k9s/.config/k9s/k9s-theme-sync.sh +++ b/k9s/.config/k9s/k9s-theme-sync.sh @@ -3,9 +3,9 @@ appearance=$(defaults read -g AppleInterfaceStyle 2>/dev/null) if [[ "$appearance" = "Dark" ]]; then - skin="default-dark" + skin="monodark" else - skin="default-light" + skin="monolight" fi config_file="$HOME/doc/dev/dotfiles/k9s/.config/k9s/config.yaml" diff --git a/k9s/.config/k9s/skins/monodark.yaml b/k9s/.config/k9s/skins/monodark.yaml new file mode 100644 index 0000000..9dbe533 --- /dev/null +++ b/k9s/.config/k9s/skins/monodark.yaml @@ -0,0 +1,108 @@ +# Monochrome skin matching Ghostty's monodark theme. +# Statuses fade from normal text to darker grays while retaining at least +# WCAG AA contrast against the background. + +foreground: &foreground "#d8d8d8" +background: &background "#111111" +focus: &focus "#f5f5f5" +pending: &pending "#aaaaaa" +unhealthy: &unhealthy "#888888" +muted: &muted "#888888" + +k9s: + body: + fgColor: *foreground + bgColor: *background + logoColor: *foreground + prompt: + fgColor: *foreground + bgColor: *background + suggestColor: *pending + info: + fgColor: *foreground + sectionColor: *focus + help: + fgColor: *foreground + bgColor: *background + keyColor: *focus + numKeyColor: *pending + sectionColor: *foreground + dialog: + fgColor: *foreground + bgColor: *background + buttonFgColor: *background + buttonBgColor: *foreground + buttonFocusFgColor: *background + buttonFocusBgColor: *focus + labelFgColor: *pending + fieldFgColor: *foreground + frame: + border: + fgColor: *muted + focusColor: *focus + menu: + fgColor: *foreground + keyColor: *focus + numKeyColor: *pending + crumbs: + fgColor: *background + bgColor: *foreground + activeColor: *background + status: + newColor: *foreground + modifyColor: *foreground + addColor: *foreground + pendingColor: *pending + errorColor: *unhealthy + highlightColor: *focus + killColor: *unhealthy + completedColor: *muted + title: + fgColor: *foreground + bgColor: *background + highlightColor: *focus + counterColor: *pending + filterColor: *foreground + views: + charts: + bgColor: *background + defaultDialColors: + - *foreground + - *unhealthy + defaultChartColors: + - *foreground + - *unhealthy + table: + fgColor: *foreground + bgColor: *background + cursorFgColor: *background + cursorBgColor: *foreground + markColor: *focus + header: + fgColor: *foreground + bgColor: *background + sorterColor: *focus + selectedSortColumnColor: *pending + xray: + fgColor: *foreground + bgColor: *background + cursorColor: *focus + graphicColor: *pending + showIcons: false + yaml: + keyColor: *foreground + colonColor: *muted + valueColor: *pending + logs: + fgColor: *foreground + bgColor: *background + indicator: + fgColor: *foreground + bgColor: *background + toggleOnColor: *focus + toggleOffColor: *muted + help: + fgColor: *foreground + bgColor: *background + indicator: + fgColor: *focus diff --git a/k9s/.config/k9s/skins/monolight.yaml b/k9s/.config/k9s/skins/monolight.yaml new file mode 100644 index 0000000..0eb6d1b --- /dev/null +++ b/k9s/.config/k9s/skins/monolight.yaml @@ -0,0 +1,108 @@ +# Monochrome skin matching Ghostty's monolight theme. +# Pending state is grayer than normal text; unhealthy state is darker. All +# status text retains at least WCAG AA contrast against the background. + +foreground: &foreground "#383838" +background: &background "#eeeeee" +focus: &focus "#181818" +pending: &pending "#606060" +unhealthy: &unhealthy "#181818" +muted: &muted "#686868" + +k9s: + body: + fgColor: *foreground + bgColor: *background + logoColor: *foreground + prompt: + fgColor: *foreground + bgColor: *background + suggestColor: *pending + info: + fgColor: *foreground + sectionColor: *focus + help: + fgColor: *foreground + bgColor: *background + keyColor: *focus + numKeyColor: *pending + sectionColor: *foreground + dialog: + fgColor: *foreground + bgColor: *background + buttonFgColor: *background + buttonBgColor: *foreground + buttonFocusFgColor: *background + buttonFocusBgColor: *focus + labelFgColor: *pending + fieldFgColor: *foreground + frame: + border: + fgColor: *muted + focusColor: *focus + menu: + fgColor: *foreground + keyColor: *focus + numKeyColor: *pending + crumbs: + fgColor: *background + bgColor: *foreground + activeColor: *background + status: + newColor: *foreground + modifyColor: *foreground + addColor: *foreground + pendingColor: *pending + errorColor: *unhealthy + highlightColor: *focus + killColor: *unhealthy + completedColor: *muted + title: + fgColor: *foreground + bgColor: *background + highlightColor: *focus + counterColor: *pending + filterColor: *foreground + views: + charts: + bgColor: *background + defaultDialColors: + - *foreground + - *unhealthy + defaultChartColors: + - *foreground + - *unhealthy + table: + fgColor: *foreground + bgColor: *background + cursorFgColor: *background + cursorBgColor: *foreground + markColor: *focus + header: + fgColor: *foreground + bgColor: *background + sorterColor: *focus + selectedSortColumnColor: *pending + xray: + fgColor: *foreground + bgColor: *background + cursorColor: *focus + graphicColor: *pending + showIcons: false + yaml: + keyColor: *foreground + colonColor: *muted + valueColor: *pending + logs: + fgColor: *foreground + bgColor: *background + indicator: + fgColor: *foreground + bgColor: *background + toggleOnColor: *focus + toggleOffColor: *muted + help: + fgColor: *foreground + bgColor: *background + indicator: + fgColor: *focus diff --git a/nvim-termux/.config/nvim/lua/settings.lua b/nvim-termux/.config/nvim/lua/settings.lua index abe8684..0507fd8 100644 --- a/nvim-termux/.config/nvim/lua/settings.lua +++ b/nvim-termux/.config/nvim/lua/settings.lua @@ -11,7 +11,6 @@ vim.wo.relativenumber = true vim.g.mapleader = ' ' vim.o.splitright = true vim.g.clipboard = "osc52" -vim.o.clipboard = "unnamedplus" -- vim.o.scrolloff = 999 vim.api.nvim_create_autocmd("FileType", { diff --git a/nvim/.config/nvim/lua/lsp.lua b/nvim/.config/nvim/lua/lsp.lua index 0fb198a..c01d0da 100644 --- a/nvim/.config/nvim/lua/lsp.lua +++ b/nvim/.config/nvim/lua/lsp.lua @@ -1,3 +1,13 @@ +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('UserLspCompletion', { clear = true }), + callback = function(ev) + local client = assert(vim.lsp.get_client_by_id(ev.data.client_id)) + if client:supports_method('textDocument/completion') then + vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) + end + end, +}) + -- Enable language servers local servers = { 'lua_ls', 'pyright', 'gopls', 'clangd', 'helm_ls', 'bashls', 'angularls', 'djls' } for _, lsp in ipairs(servers) do @@ -24,11 +34,27 @@ vim.lsp.config('cssls', { vim.lsp.enable('cssls') -- TypeScript LSP -vim.lsp.config('ts_ls', { - filetypes = { "typescript", "typescriptreact", "javascript", "javascriptreact", "html" }, +local typescript_lsp_root = vim.fn.expand("~/.local/share/typescript-lsp") +vim.lsp.config("ts_ls", { + cmd = { + vim.fs.joinpath(typescript_lsp_root, "node_modules", ".bin", "typescript-language-server"), + "--stdio", + }, capabilities = capabilities, + init_options = { + hostInfo = "neovim", + tsserver = { + path = vim.fs.joinpath( + typescript_lsp_root, + "node_modules", + "typescript", + "lib", + "tsserver.js" + ), + }, + }, }) -vim.lsp.enable('ts_ls') +vim.lsp.enable("ts_ls") -- JSON LSP vim.lsp.config('jsonls', { diff --git a/nvim/.config/nvim/lua/maps.lua b/nvim/.config/nvim/lua/maps.lua index b6e7329..871c65a 100644 --- a/nvim/.config/nvim/lua/maps.lua +++ b/nvim/.config/nvim/lua/maps.lua @@ -26,6 +26,7 @@ vim.keymap.set('n', 'z', ':ZenMode', { silent = true }) -- Language shortcuts vim.keymap.set('i', '', 'if err != nil {}', { noremap = true }) +vim.keymap.set('i', '', '', { silent = true }) vim.cmd [[autocmd BufWritePre *.go lua vim.lsp.buf.format()]] diff --git a/nvim/.config/nvim/lua/settings.lua b/nvim/.config/nvim/lua/settings.lua index e0ea62a..e46494c 100644 --- a/nvim/.config/nvim/lua/settings.lua +++ b/nvim/.config/nvim/lua/settings.lua @@ -12,7 +12,6 @@ vim.g.mapleader = ' ' vim.o.splitright = true vim.o.maxmempattern = 100000 vim.g.clipboard = "osc52" -vim.o.clipboard = "unnamedplus" vim.cmd([[ autocmd ColorScheme * highlight Statement cterm=NONE ctermfg=5 @@ -64,4 +63,3 @@ vim.cmd([[ -- colorscheme default -- ]]) -- autocmd ColorScheme * highlight Folded cterm=italic ctermfg=lightgray ctermbg=18 -