Add Config

This commit is contained in:
seang96 2025-08-01 15:51:56 -04:00
commit 2b40e9ade7
7 changed files with 497 additions and 0 deletions

148
config/helix/config.toml Normal file
View file

@ -0,0 +1,148 @@
[editor]
# Show currently open buffers, only when more than one exists.
bufferline = "multiple"
# Highlight all lines with a cursor
cursorline = true
# Use relative line numbers
line-number = "relative"
# Show a ruler at column 120
rulers = [120]
# Force the theme to show colors
true-color = true
[keys.normal]
# Quick iteration on config changes
C-o = ":config-open"
C-r = ":config-reload"
# Some nice Helix stuff
C-h = "select_prev_sibling"
C-j = "shrink_selection"
C-k = "expand_selection"
C-l = "select_next_sibling"
# Personal preference
o = ["open_below", "normal_mode"]
O = ["open_above", "normal_mode"]
# Muscle memory
"{" = ["goto_prev_paragraph", "collapse_selection"]
"}" = ["goto_next_paragraph", "collapse_selection"]
0 = "goto_line_start"
"$" = "goto_line_end"
"^" = "goto_first_nonwhitespace"
G = "goto_file_end"
"%" = "match_brackets"
V = ["select_mode", "extend_to_line_bounds"]
C = ["extend_to_line_end", "yank_main_selection_to_clipboard", "delete_selection", "insert_mode"]
D = ["extend_to_line_end", "yank_main_selection_to_clipboard", "delete_selection"]
S = "surround_add" # Would be nice to be able to do something after this but it isn't chainable
# Clipboards over registers ye ye
x = "delete_selection"
p = ["paste_clipboard_after", "collapse_selection"]
P = ["paste_clipboard_before", "collapse_selection"]
# Would be nice to add ya and yi, but the surround commands can't be chained
Y = ["extend_to_line_end", "yank_main_selection_to_clipboard", "collapse_selection"]
# Uncanny valley stuff, this makes w and b behave as they do Vim
w = ["move_next_word_start", "move_char_right", "collapse_selection"]
W = ["move_next_long_word_start", "move_char_right", "collapse_selection"]
e = ["move_next_word_end", "collapse_selection"]
E = ["move_next_long_word_end", "collapse_selection"]
b = ["move_prev_word_start", "collapse_selection"]
B = ["move_prev_long_word_start", "collapse_selection"]
# If you want to keep the selection-while-moving behaviour of Helix, this two lines will help a lot,
# especially if you find having text remain selected while you have switched to insert or append mode
#
# There is no real difference if you have overridden the commands bound to 'w', 'e' and 'b' like above
# But if you really want to get familiar with the Helix way of selecting-while-moving, comment the
# bindings for 'w', 'e', and 'b' out and leave the bindings for 'i' and 'a' active below. A world of difference!
i = ["insert_mode", "collapse_selection"]
a = ["append_mode", "collapse_selection"]
# Undoing the 'd' + motion commands restores the selection which is annoying
u = ["undo", "collapse_selection"]
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
esc = ["collapse_selection", "keep_primary_selection"]
# Search for word under cursor
"*" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_next"]
"#" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_prev"]
# Make j and k behave as they do Vim when soft-wrap is enabled
j = "move_line_down"
k = "move_line_up"
# Extend and select commands that expect a manual input can't be chained
# I've kept d[X] commands here because it's better to at least have the stuff you want to delete
# selected so that it's just a keystroke away to delete
[keys.normal.d]
d = ["extend_to_line_bounds", "yank_main_selection_to_clipboard", "delete_selection"]
t = ["extend_till_char"]
s = ["surround_delete"]
i = ["select_textobject_inner"]
a = ["select_textobject_around"]
j = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
down = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
k = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
up = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
G = ["select_mode", "extend_to_line_bounds", "goto_last_line", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
w = ["move_next_word_start", "yank_main_selection_to_clipboard", "delete_selection"]
W = ["move_next_long_word_start", "yank_main_selection_to_clipboard", "delete_selection"]
g = { g = ["select_mode", "extend_to_line_bounds", "goto_file_start", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"] }
[keys.normal.y]
y = ["extend_to_line_bounds", "yank_main_selection_to_clipboard", "normal_mode", "collapse_selection"]
j = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
down = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
k = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
up = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
G = ["select_mode", "extend_to_line_bounds", "goto_last_line", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
w = ["move_next_word_start", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
W = ["move_next_long_word_start", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
g = { g = ["select_mode", "extend_to_line_bounds", "goto_file_start", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"] }
[keys.insert]
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
esc = ["collapse_selection", "normal_mode"]
[keys.select]
# Muscle memory
"{" = ["extend_to_line_bounds", "goto_prev_paragraph"]
"}" = ["extend_to_line_bounds", "goto_next_paragraph"]
0 = "goto_line_start"
"$" = "goto_line_end"
"^" = "goto_first_nonwhitespace"
G = "goto_file_end"
D = ["extend_to_line_bounds", "delete_selection", "normal_mode"]
C = ["goto_line_start", "extend_to_line_bounds", "change_selection"]
"%" = "match_brackets"
S = "surround_add" # Basically 99% of what I use vim-surround for
u = ["switch_to_lowercase", "collapse_selection", "normal_mode"]
U = ["switch_to_uppercase", "collapse_selection", "normal_mode"]
# Visual-mode specific muscle memory
i = "select_textobject_inner"
a = "select_textobject_around"
# Some extra binds to allow us to insert/append in select mode because it's nice with multiple cursors
tab = ["insert_mode", "collapse_selection"] # tab is read by most terminal editors as "C-i"
C-a = ["append_mode", "collapse_selection"]
# Make selecting lines in visual mode behave sensibly
k = ["extend_line_up", "extend_to_line_bounds"]
j = ["extend_line_down", "extend_to_line_bounds"]
# Clipboards over registers ye ye
d = ["yank_main_selection_to_clipboard", "delete_selection"]
x = ["yank_main_selection_to_clipboard", "delete_selection"]
y = ["yank_main_selection_to_clipboard", "normal_mode", "flip_selections", "collapse_selection"]
Y = ["extend_to_line_bounds", "yank_main_selection_to_clipboard", "goto_line_start", "collapse_selection", "normal_mode"]
p = "replace_selections_with_clipboard" # No life without this
P = "paste_clipboard_before"
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
esc = ["collapse_selection", "keep_primary_selection", "normal_mode"]

9
config/k9s/aliases.yaml Normal file
View file

@ -0,0 +1,9 @@
aliases:
dp: deployments
sec: v1/secrets
jo: jobs
cr: clusterroles
crb: clusterrolebindings
ro: roles
rb: rolebindings
np: networkpolicies

42
config/k9s/config.yaml Normal file
View file

@ -0,0 +1,42 @@
k9s:
liveViewAutoRefresh: false
screenDumpDir: /data/data/com.termux.nix/files/home/.local/state/k9s/screen-dumps
refreshRate: 2
maxConnRetry: 5
readOnly: false
noExitOnCtrlC: false
ui:
enableMouse: false
headless: false
logoless: true
crumbsless: false
reactive: false
noIcons: false
defaultsToFullScreen: false
skin: dracula
skipLatestRevCheck: false
disablePodCounting: false
shellPod:
image: busybox:1.35.0
namespace: default
limits:
cpu: 100m
memory: 100Mi
imageScans:
enable: false
exclusions:
namespaces: []
labels: {}
logger:
tail: 100
buffer: 5000
sinceSeconds: -1
textWrap: false
showTime: false
thresholds:
cpu:
critical: 90
warn: 70
memory:
critical: 90
warn: 70

57
config/k9s/config.yml Normal file
View file

@ -0,0 +1,57 @@
k9s:
liveViewAutoRefresh: false
refreshRate: 2
maxConnRetry: 5
enableMouse: false
headless: false
logoless: false
crumbsless: false
readOnly: false
noExitOnCtrlC: false
noIcons: false
skipLatestRevCheck: false
logger:
tail: 100
buffer: 5000
sinceSeconds: 300
fullScreenLogs: false
textWrap: false
showTime: false
currentContext: default
currentCluster: default
clusters:
default:
namespace:
active: foo
lockFavorites: false
favorites:
- foo
- vpn-home
- matrix
- ingress-nginx
- invidious
- voyager
- kube-system
- lemmy
view:
active: pods
featureGates:
nodeShell: false
shellPod:
image: busybox:1.35.0
command: []
args: []
namespace: default
limits:
cpu: 100m
memory: 100Mi
labels: {}
portForwardAddress: localhost
thresholds:
cpu:
critical: 90
warn: 70
memory:
critical: 90
warn: 70
screenDumpDir: /data/data/com.termux.nix/files/usr/tmp/k9s-screens-nix-on-droid

106
config/k9s/plugins.yaml Normal file
View file

@ -0,0 +1,106 @@
plugins:
cnpg-backup:
shortCut: b
description: Backup
scopes:
- cluster
command: bash
confirm: true
background: false
args:
- -c
- 'kubectl-cnpg backup $NAME -n $NAMESPACE --context "$CONTEXT" |& less -R'
cnpg-hibernate-status:
shortCut: h
description: Hibernate status
scopes:
- cluster
command: bash
background: false
args:
- -c
- 'kubectl-cnpg hibernate status $NAME -n $NAMESPACE --context "$CONTEXT" |& less -R'
cnpg-hibernate:
shortCut: Shift-H
description: Hibernate
confirm: true
scopes:
- cluster
command: bash
background: false
args:
- -c
- 'kubectl-cnpg hibernate on $NAME -n $NAMESPACE --context "$CONTEXT" |& less -R'
cnpg-hibernate-off:
shortCut: Ctrl-H
description: Wake up hibernated cluster in this namespace
confirm: true
scopes:
- namespace
command: bash
background: false
args:
- -c
- 'kubectl-cnpg hibernate off $NAME -n $NAME --context "$CONTEXT" |& less -R'
cnpg-logs:
shortCut: l
description: Logs
scopes:
- cluster
command: bash
background: false
args:
- -c
- "kubectl-cnpg logs cluster $NAME -f -n $NAMESPACE --context $CONTEXT"
cnpg-psql:
shortCut: p
description: PSQL shell
scopes:
- cluster
command: bash
background: false
args:
- -c
- "kubectl-cnpg psql $NAME -n $NAMESPACE --context $CONTEXT"
cnpg-reload:
shortCut: r
description: Reload
confirm: true
scopes:
- cluster
command: bash
background: false
args:
- -c
- 'kubectl-cnpg reload $NAME -n $NAMESPACE --context "$CONTEXT" |& less -R'
cnpg-restart:
shortCut: Ctrl-R
description: Restart
confirm: true
scopes:
- cluster
command: bash
background: false
args:
- -c
- 'kubectl-cnpg restart $NAME -n $NAMESPACE --context "$CONTEXT" |& less -R'
cnpg-status:
shortCut: s
description: Status
scopes:
- cluster
command: bash
background: false
args:
- -c
- 'kubectl-cnpg status $NAME -n $NAMESPACE --context "$CONTEXT" |& less -R'
cnpg-status-verbose:
shortCut: Ctrl-S
description: Status (verbose)
scopes:
- cluster
command: bash
background: false
args:
- -c
- 'kubectl-cnpg status $NAME -n $NAMESPACE --context "$CONTEXT" --verbose |& less -R'

View file

@ -0,0 +1,115 @@
# -----------------------------------------------------------------------------
# Dracula skin
# -----------------------------------------------------------------------------
# Styles...
foreground: &foreground "#f8f8f2"
background: &background "#282a36"
current_line: &current_line "#44475a"
selection: &selection "#44475a"
comment: &comment "#6272a4"
cyan: &cyan "#8be9fd"
green: &green "#50fa7b"
orange: &orange "#ffb86c"
pink: &pink "#ff79c6"
purple: &purple "#bd93f9"
red: &red "#ff5555"
yellow: &yellow "#f1fa8c"
# Skin...
k9s:
# General K9s styles
body:
fgColor: *foreground
bgColor: *background
logoColor: *purple
# Command prompt styles
prompt:
fgColor: *foreground
bgColor: *background
suggestColor: *purple
# ClusterInfoView styles.
info:
fgColor: *pink
sectionColor: *foreground
# Dialog styles.
dialog:
fgColor: *foreground
bgColor: *background
buttonFgColor: *foreground
buttonBgColor: *purple
buttonFocusFgColor: *yellow
buttonFocusBgColor: *pink
labelFgColor: *orange
fieldFgColor: *foreground
frame:
# Borders styles.
border:
fgColor: *selection
focusColor: *current_line
menu:
fgColor: *foreground
keyColor: *pink
# Used for favorite namespaces
numKeyColor: *pink
# CrumbView attributes for history navigation.
crumbs:
fgColor: *foreground
bgColor: *current_line
activeColor: *current_line
# Resource status and update styles
status:
newColor: *cyan
modifyColor: *purple
addColor: *green
errorColor: *red
highlightColor: *orange
killColor: *comment
completedColor: *comment
# Border title styles.
title:
fgColor: *foreground
bgColor: *current_line
highlightColor: *orange
counterColor: *purple
filterColor: *pink
views:
# Charts skins...
charts:
bgColor: default
defaultDialColors:
- *purple
- *red
defaultChartColors:
- *purple
- *red
# TableView attributes.
table:
fgColor: *foreground
bgColor: *background
# Header row styles.
header:
fgColor: *foreground
bgColor: *background
sorterColor: *cyan
# Xray view attributes.
xray:
fgColor: *foreground
bgColor: *background
cursorColor: *current_line
graphicColor: *purple
showIcons: false
# YAML info styles.
yaml:
keyColor: *pink
colonColor: *purple
valueColor: *foreground
# Logs styles.
logs:
fgColor: *foreground
bgColor: *background
indicator:
fgColor: *foreground
bgColor: *purple
toggleOnColor: *green
toggleOffColor: *cyan

20
config/k9s/views.yaml Normal file
View file

@ -0,0 +1,20 @@
views:
v1/pods:
sortColumn: NAME:asc
columns:
- NAME
- NAMESPACE
- NODE
- STATUS
- READY
- CPU
- MEM
# Alters the service view column layout
v1/services:
columns:
- NAMESPACE
- NAME
- TYPE
- AGE
- CLUSTER-IP