Compare commits
3 Commits
main
..
44effcd1ef
| Author | SHA1 | Date | |
|---|---|---|---|
| 44effcd1ef | |||
| b502dd8f40 | |||
| f343fdc077 |
@@ -282,6 +282,5 @@
|
|||||||
"editor.inlayHints.fontFamily": "Sriracha",
|
"editor.inlayHints.fontFamily": "Sriracha",
|
||||||
"github.copilot.nextEditSuggestions.enabled": true,
|
"github.copilot.nextEditSuggestions.enabled": true,
|
||||||
"gitlens.ai.model": "vscode",
|
"gitlens.ai.model": "vscode",
|
||||||
"gitlens.ai.vscode.model": "copilot:gpt-4.1",
|
"gitlens.ai.vscode.model": "copilot:gpt-4.1"
|
||||||
"workbench.startupEditor": "none"
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#? Config file for btop v.1.4.7
|
#? Config file for btop v.1.4.6
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
@@ -14,11 +14,6 @@ truecolor = true
|
|||||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
force_tty = false
|
force_tty = false
|
||||||
|
|
||||||
#* Option to disable presets. Either the default preset, custom presets, or all presets.
|
|
||||||
#* "Off" All presets are enabled.
|
|
||||||
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
|
|
||||||
disable_presets = "Off"
|
|
||||||
|
|
||||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
#* Use whitespace " " as separator between different presets.
|
#* Use whitespace " " as separator between different presets.
|
||||||
@@ -29,9 +24,6 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
|
|||||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
vim_keys = false
|
vim_keys = false
|
||||||
|
|
||||||
#* Disable all mouse events.
|
|
||||||
disable_mouse = false
|
|
||||||
|
|
||||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
rounded_corners = true
|
rounded_corners = true
|
||||||
|
|
||||||
@@ -100,9 +92,6 @@ proc_left = false
|
|||||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
proc_filter_kernel = false
|
proc_filter_kernel = false
|
||||||
|
|
||||||
#* Should the process list follow the selected process when detailed view is open.
|
|
||||||
proc_follow_detailed = true
|
|
||||||
|
|
||||||
#* In tree-view, always accumulate child process resources in the parent process.
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
proc_aggregate = false
|
proc_aggregate = false
|
||||||
|
|
||||||
@@ -219,9 +208,6 @@ io_graph_combined = false
|
|||||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
io_graph_speeds = ""
|
io_graph_speeds = ""
|
||||||
|
|
||||||
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
|
|
||||||
swap_upload_download = false
|
|
||||||
|
|
||||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
net_download = 100
|
net_download = 100
|
||||||
|
|
||||||
@@ -264,7 +250,7 @@ rsmi_measure_pcie_speeds = true
|
|||||||
#* Horizontally mirror the GPU graph.
|
#* Horizontally mirror the GPU graph.
|
||||||
gpu_mirror_graph = true
|
gpu_mirror_graph = true
|
||||||
|
|
||||||
#* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
|
#* Set which GPU vendors to show. Available values are "nvidia amd intel"
|
||||||
shown_gpus = "nvidia amd intel"
|
shown_gpus = "nvidia amd intel"
|
||||||
|
|
||||||
#* Custom gpu0 model name, empty string to disable.
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
|||||||
@@ -1,123 +0,0 @@
|
|||||||
[delta "catppuccin-latte"]
|
|
||||||
blame-palette = "#eff1f5 #e6e9ef #dce0e8 #ccd0da #bcc0cc"
|
|
||||||
commit-decoration-style = "#9ca0b0" bold box ul
|
|
||||||
light = true
|
|
||||||
file-decoration-style = "#9ca0b0"
|
|
||||||
file-style = "#4c4f69"
|
|
||||||
hunk-header-decoration-style = "#9ca0b0" box ul
|
|
||||||
hunk-header-file-style = bold
|
|
||||||
hunk-header-line-number-style = bold "#6c6f85"
|
|
||||||
hunk-header-style = file line-number syntax
|
|
||||||
line-numbers-left-style = "#9ca0b0"
|
|
||||||
line-numbers-minus-style = bold "#d20f39"
|
|
||||||
line-numbers-plus-style = bold "#40a02b"
|
|
||||||
line-numbers-right-style = "#9ca0b0"
|
|
||||||
line-numbers-zero-style = "#9ca0b0"
|
|
||||||
# 35% red 65% base
|
|
||||||
minus-emph-style = bold syntax "#e5a2b3"
|
|
||||||
# 20% red 80% base
|
|
||||||
minus-style = syntax "#e9c4cf"
|
|
||||||
# 35% green 65% base
|
|
||||||
plus-emph-style = bold syntax "#b2d5ae"
|
|
||||||
# 20% green 80% base
|
|
||||||
plus-style = syntax "#cce1cd"
|
|
||||||
map-styles = \
|
|
||||||
bold purple => syntax "#cbb1f2", \
|
|
||||||
bold blue => syntax "#a6c1f5", \
|
|
||||||
bold cyan => syntax "#9dd7ef", \
|
|
||||||
bold yellow => syntax "#eacfa9"
|
|
||||||
# Should match the name of the bat theme
|
|
||||||
syntax-theme = Catppuccin Latte
|
|
||||||
|
|
||||||
[delta "catppuccin-frappe"]
|
|
||||||
blame-palette = "#303446 #292c3c #232634 #414559 #51576d"
|
|
||||||
commit-decoration-style = "#737994" bold box ul
|
|
||||||
dark = true
|
|
||||||
file-decoration-style = "#737994"
|
|
||||||
file-style = "#c6d0f5"
|
|
||||||
hunk-header-decoration-style = "#737994" box ul
|
|
||||||
hunk-header-file-style = bold
|
|
||||||
hunk-header-line-number-style = bold "#a5adce"
|
|
||||||
hunk-header-style = file line-number syntax
|
|
||||||
line-numbers-left-style = "#737994"
|
|
||||||
line-numbers-minus-style = bold "#e78284"
|
|
||||||
line-numbers-plus-style = bold "#a6d189"
|
|
||||||
line-numbers-right-style = "#737994"
|
|
||||||
line-numbers-zero-style = "#737994"
|
|
||||||
# 35% red 65% base
|
|
||||||
minus-emph-style = bold syntax "#704f5c"
|
|
||||||
# 20% red 80% base
|
|
||||||
minus-style = syntax "#544452"
|
|
||||||
# 35% green 65% base
|
|
||||||
plus-emph-style = bold syntax "#596b5e"
|
|
||||||
# 20% green 80% base
|
|
||||||
plus-style = syntax "#475453"
|
|
||||||
map-styles = \
|
|
||||||
bold purple => syntax "#66597e", \
|
|
||||||
bold blue => syntax "#505d81", \
|
|
||||||
bold cyan => syntax "#546b7a", \
|
|
||||||
bold yellow => syntax "#6f6860"
|
|
||||||
# Should match the name of the bat theme
|
|
||||||
syntax-theme = Catppuccin Frappe
|
|
||||||
|
|
||||||
[delta "catppuccin-macchiato"]
|
|
||||||
blame-palette = "#24273a #1e2030 #181926 #363a4f #494d64"
|
|
||||||
commit-decoration-style = "#6e738d" bold box ul
|
|
||||||
dark = true
|
|
||||||
file-decoration-style = "#6e738d"
|
|
||||||
file-style = "#cad3f5"
|
|
||||||
hunk-header-decoration-style = "#6e738d" box ul
|
|
||||||
hunk-header-file-style = bold
|
|
||||||
hunk-header-line-number-style = bold "#a5adcb"
|
|
||||||
hunk-header-style = file line-number syntax
|
|
||||||
line-numbers-left-style = "#6e738d"
|
|
||||||
line-numbers-minus-style = bold "#ed8796"
|
|
||||||
line-numbers-plus-style = bold "#a6da95"
|
|
||||||
line-numbers-right-style = "#6e738d"
|
|
||||||
line-numbers-zero-style = "#6e738d"
|
|
||||||
# 35% red 65% base
|
|
||||||
minus-emph-style = bold syntax "#6a485a"
|
|
||||||
# 20% red 80% base
|
|
||||||
minus-style = syntax "#4c3a4c"
|
|
||||||
# 35% green 65% base
|
|
||||||
plus-emph-style = bold syntax "#51655a"
|
|
||||||
# 20% green 80% base
|
|
||||||
plus-style = syntax "#3e4b4c"
|
|
||||||
map-styles = \
|
|
||||||
bold purple => syntax "#5c517c", \
|
|
||||||
bold blue => syntax "#47557b", \
|
|
||||||
bold cyan => syntax "#4a6475", \
|
|
||||||
bold yellow => syntax "#6a635d"
|
|
||||||
# Should match the name of the bat theme
|
|
||||||
syntax-theme = Catppuccin Macchiato
|
|
||||||
|
|
||||||
[delta "catppuccin-mocha"]
|
|
||||||
blame-palette = "#1e1e2e #181825 #11111b #313244 #45475a"
|
|
||||||
commit-decoration-style = "#6c7086" bold box ul
|
|
||||||
dark = true
|
|
||||||
file-decoration-style = "#6c7086"
|
|
||||||
file-style = "#cdd6f4"
|
|
||||||
hunk-header-decoration-style = "#6c7086" box ul
|
|
||||||
hunk-header-file-style = bold
|
|
||||||
hunk-header-line-number-style = bold "#a6adc8"
|
|
||||||
hunk-header-style = file line-number syntax
|
|
||||||
line-numbers-left-style = "#6c7086"
|
|
||||||
line-numbers-minus-style = bold "#f38ba8"
|
|
||||||
line-numbers-plus-style = bold "#a6e3a1"
|
|
||||||
line-numbers-right-style = "#6c7086"
|
|
||||||
line-numbers-zero-style = "#6c7086"
|
|
||||||
# 35% red 65% base
|
|
||||||
minus-emph-style = bold syntax "#694559"
|
|
||||||
# 20% red 80% base
|
|
||||||
minus-style = syntax "#493447"
|
|
||||||
# 35% green 65% base
|
|
||||||
plus-emph-style = bold syntax "#4e6356"
|
|
||||||
# 20% green 80% base
|
|
||||||
plus-style = syntax "#394545"
|
|
||||||
map-styles = \
|
|
||||||
bold purple => syntax "#5b4e74", \
|
|
||||||
bold blue => syntax "#445375", \
|
|
||||||
bold cyan => syntax "#446170", \
|
|
||||||
bold yellow => syntax "#6b635b"
|
|
||||||
# Should match the name of the bat theme
|
|
||||||
syntax-theme = Catppuccin Mocha
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
complete -c dev-switch -f -a '(git worktree list --porcelain 2>/dev/null | string match "worktree *" | string replace "worktree " "" | while read -l p; basename $p; end)'
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
complete -c pandoc -f -a '(string match -r ".*\\.md\$" -- (ls))'
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
function __dev_repo_name
|
|
||||||
# Use the main worktree (first entry) for consistent naming across worktrees
|
|
||||||
set -l lines (git worktree list --porcelain | string replace -rf "^worktree " "")
|
|
||||||
basename $lines[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
function __dev_create_session -a session dir
|
|
||||||
if test -z "$dir"
|
|
||||||
set dir (pwd)
|
|
||||||
end
|
|
||||||
if not tmux has-session -t "$session" 2>/dev/null
|
|
||||||
# Unset any devbox environment variables so they can be re-sourced
|
|
||||||
# in the new directory.
|
|
||||||
set -l shell env
|
|
||||||
for var in (set --names --export | string match 'DEVBOX_*')
|
|
||||||
set -a shell -u $var
|
|
||||||
end
|
|
||||||
|
|
||||||
set -a shell (command -s fish) --login
|
|
||||||
|
|
||||||
tmux new-session -d -s "$session" -c "$dir" -n dev $shell
|
|
||||||
|
|
||||||
# Ensure that new panes in this session also start with the clean environment.
|
|
||||||
tmux set-option -t "$session" default-command (string join ' ' -- $shell)
|
|
||||||
|
|
||||||
set -l left (tmux display-message -t "$session:dev" -p '#{pane_id}')
|
|
||||||
tmux split-window -h -t "$left" -c "$dir" $shell
|
|
||||||
set -l right (tmux display-message -t "$session:dev" -p '#{pane_id}')
|
|
||||||
tmux split-window -v -t "$right" -c "$dir" $shell
|
|
||||||
set -l bottom_right (tmux display-message -t "$session:dev" -p '#{pane_id}')
|
|
||||||
tmux send-keys -t "$left" 'vim' Enter
|
|
||||||
tmux send-keys -t "$right" 'claude' Enter
|
|
||||||
|
|
||||||
tmux select-pane -t "$bottom_right"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function __dev_attach_session -a session
|
|
||||||
if test -z "$TMUX"
|
|
||||||
tmux attach-session -t "$session"
|
|
||||||
else
|
|
||||||
set -l current_session (tmux display-message -p '#S')
|
|
||||||
if test "$current_session" != "$session"
|
|
||||||
tmux switch-client -t "$session"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function __dev_wt_session_name -a repo branch
|
|
||||||
set -l name "$repo-"(string replace -a '/' '-' -- $branch | string replace -a '\\' '-')
|
|
||||||
string replace -a '.' '-' -- $name
|
|
||||||
end
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# This file contains fish universal variable definitions.
|
# This file contains fish universal variable definitions.
|
||||||
# VERSION: 3.0
|
# VERSION: 3.0
|
||||||
SETUVAR __fish_initialized:4300
|
SETUVAR __fish_initialized:4300
|
||||||
SETUVAR fish_user_paths:/home/tgrosinger/go/bin\x1e/home/tgrosinger/\x2enpm\x2dglobal/bin\x1e/home/tgrosinger/\x2edotfiles/bin/linux
|
SETUVAR fish_user_paths:/home/tgrosinger/\x2edotfiles/bin/linux
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
set AUTOENV_AUTH_FILE ~/.autoenv_authorized
|
set AUTOENV_AUTH_FILE ~/.autoenv_authorized
|
||||||
set AUTOENV_TRUSTED_FILE ~/.autoenv_trusted
|
|
||||||
if [ -z "$AUTOENV_ENV_FILENAME" ]
|
if [ -z "$AUTOENV_ENV_FILENAME" ]
|
||||||
set AUTOENV_ENV_FILENAME ".env"
|
set AUTOENV_ENV_FILENAME ".env"
|
||||||
end
|
end
|
||||||
@@ -78,27 +77,6 @@ function autoenv_hashline
|
|||||||
echo "$envfile:$hash"
|
echo "$envfile:$hash"
|
||||||
end
|
end
|
||||||
|
|
||||||
function autoenv_content_hash
|
|
||||||
set envfile $argv[1]
|
|
||||||
shasum "$envfile" | cut -d' ' -f 1
|
|
||||||
end
|
|
||||||
|
|
||||||
function autoenv_check_trusted
|
|
||||||
set envfile $argv[1]
|
|
||||||
set hash (autoenv_content_hash "$envfile")
|
|
||||||
touch $AUTOENV_TRUSTED_FILE
|
|
||||||
grep -Fxq "$hash" $AUTOENV_TRUSTED_FILE
|
|
||||||
end
|
|
||||||
|
|
||||||
function autoenv_trust_env
|
|
||||||
set envfile $argv[1]
|
|
||||||
set hash (autoenv_content_hash "$envfile")
|
|
||||||
touch $AUTOENV_TRUSTED_FILE
|
|
||||||
if not grep -Fxq "$hash" $AUTOENV_TRUSTED_FILE
|
|
||||||
echo "$hash" >>$AUTOENV_TRUSTED_FILE
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function autoenv_check_authz
|
function autoenv_check_authz
|
||||||
# typeset envfile hash
|
# typeset envfile hash
|
||||||
set envfile $argv[1]
|
set envfile $argv[1]
|
||||||
@@ -109,7 +87,7 @@ end
|
|||||||
|
|
||||||
function autoenv_check_authz_and_run
|
function autoenv_check_authz_and_run
|
||||||
set envfile $argv[1]
|
set envfile $argv[1]
|
||||||
if autoenv_check_authz "$envfile"; or autoenv_check_trusted "$envfile"
|
if autoenv_check_authz "$envfile"
|
||||||
autoenv_source "$envfile"
|
autoenv_source "$envfile"
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
@@ -122,16 +100,11 @@ function autoenv_check_authz_and_run
|
|||||||
autoenv_indent "$envfile"
|
autoenv_indent "$envfile"
|
||||||
autoenv_env " --- (end contents) -----------------------------------------"
|
autoenv_env " --- (end contents) -----------------------------------------"
|
||||||
autoenv_env
|
autoenv_env
|
||||||
autoenv_printf "Are you sure you want to allow this? (y/t/N) \n"
|
autoenv_printf "Are you sure you want to allow this? (y/N) \n"
|
||||||
autoenv_env " y - approve for this path only"
|
|
||||||
autoenv_env " t - trust these contents everywhere"
|
|
||||||
read answer
|
read answer
|
||||||
if [ "$answer" = y -o "$answer" = Y ]
|
if [ $answer = y -o $answer = Y ]
|
||||||
autoenv_authorize_env "$envfile"
|
autoenv_authorize_env "$envfile"
|
||||||
autoenv_source "$envfile"
|
autoenv_source "$envfile"
|
||||||
else if [ "$answer" = t -o "$answer" = T ]
|
|
||||||
autoenv_trust_env "$envfile"
|
|
||||||
autoenv_source "$envfile"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -158,7 +131,3 @@ function autoenv_source
|
|||||||
#set -e AUTOENV_CUR_FILE
|
#set -e AUTOENV_CUR_FILE
|
||||||
#set -e AUTOENV_CUR_DIR
|
#set -e AUTOENV_CUR_DIR
|
||||||
end
|
end
|
||||||
|
|
||||||
# Run once on shell startup so .env files are sourced in the initial
|
|
||||||
# working directory (PWD is already set, so --on-variable PWD won't fire).
|
|
||||||
autoenv_init
|
|
||||||
|
|||||||
@@ -1,74 +0,0 @@
|
|||||||
function dev-wt -d "Switch to a tmux dev session for a worktree, creating it if needed" -a name
|
|
||||||
set -l repo (__dev_repo_name 2>/dev/null)
|
|
||||||
if test -z "$repo"
|
|
||||||
echo "Not in a git repository"
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
# Default to current branch when no argument given
|
|
||||||
if test -z "$name"
|
|
||||||
set name (git branch --show-current 2>/dev/null)
|
|
||||||
if test -z "$name"
|
|
||||||
echo "Usage: dev-wt [worktree-name]"
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l wt_path ""
|
|
||||||
set -l wt_branch ""
|
|
||||||
|
|
||||||
# Search for worktree by directory basename or branch name
|
|
||||||
set -l current_path ""
|
|
||||||
set -l current_branch ""
|
|
||||||
for line in (git worktree list --porcelain)
|
|
||||||
if string match -q "worktree *" -- $line
|
|
||||||
set current_path (string replace "worktree " "" -- $line)
|
|
||||||
set current_branch ""
|
|
||||||
else if string match -q "branch *" -- $line
|
|
||||||
set current_branch (string replace "branch refs/heads/" "" -- $line)
|
|
||||||
if test (basename "$current_path") = "$name"; or test "$current_branch" = "$name"
|
|
||||||
set wt_path $current_path
|
|
||||||
set wt_branch $current_branch
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# If worktree not found, create it
|
|
||||||
if test -z "$wt_path"
|
|
||||||
set -l main_wt_path (git worktree list --porcelain | head -1 | string replace "worktree " "")
|
|
||||||
set -l parent_dir (dirname "$main_wt_path")
|
|
||||||
set wt_path "$parent_dir/$repo-$name"
|
|
||||||
set wt_branch "$name"
|
|
||||||
|
|
||||||
if test -d "$wt_path"
|
|
||||||
echo "Error: directory already exists: $wt_path"
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
# Create branch from main if it doesn't exist
|
|
||||||
if not git rev-parse --verify "$wt_branch" >/dev/null 2>&1
|
|
||||||
echo "Creating branch '$wt_branch' from main..."
|
|
||||||
git branch "$wt_branch" main
|
|
||||||
end
|
|
||||||
|
|
||||||
echo "Creating worktree at $wt_path..."
|
|
||||||
git worktree add "$wt_path" "$wt_branch"
|
|
||||||
|
|
||||||
# Run repo-specific setup hook if present
|
|
||||||
set -l setup_hook "$main_wt_path/.worktree-setup.sh"
|
|
||||||
if test -x "$setup_hook"
|
|
||||||
echo "Running worktree setup hook..."
|
|
||||||
bash "$setup_hook" "$wt_path" "$main_wt_path" "$wt_branch"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if test -z "$wt_branch"
|
|
||||||
echo "Worktree '$name' has no branch (detached HEAD)"
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l session (__dev_wt_session_name $repo $wt_branch)
|
|
||||||
__dev_create_session $session $wt_path
|
|
||||||
__dev_attach_session $session
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
function dev -d "Create and attach to a tmux dev session for the current directory"
|
|
||||||
set -l session (basename (pwd) | string replace -a '.' '-')
|
|
||||||
__dev_create_session $session
|
|
||||||
__dev_attach_session $session
|
|
||||||
end
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
function pandoc -d "Convert a markdown file to docx using pandoc in podman" -a input
|
|
||||||
set -l output (string replace -r '\.md$' '.docx' $input)
|
|
||||||
|
|
||||||
podman run --rm -v "$(pwd):/data:z" \
|
|
||||||
--userns keep-id:uid=1000,gid=1000 \
|
|
||||||
pandoc/core:3.8-alpine --from markdown --to docx -o "/data/$output" "/data/$input"
|
|
||||||
end
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
function __create_session
|
|
||||||
set session "process-compose"
|
|
||||||
set dir "/home/tgrosinger/obsidian"
|
|
||||||
|
|
||||||
if not tmux has-session -t "$session" 2>/dev/null
|
|
||||||
# Unset any devbox environment variables so they can be re-sourced
|
|
||||||
# in the new directory.
|
|
||||||
set -l shell env
|
|
||||||
for var in (set --names --export | string match 'DEVBOX_*')
|
|
||||||
set -a shell -u $var
|
|
||||||
end
|
|
||||||
|
|
||||||
set -a shell (command -s fish) --login
|
|
||||||
|
|
||||||
tmux new-session -d -s "$session" -c "$dir" -n dev $shell
|
|
||||||
|
|
||||||
# Ensure that new panes in this session also start with the clean environment.
|
|
||||||
tmux set-option -t "$session" default-command (string join ' ' -- $shell)
|
|
||||||
|
|
||||||
set -l left (tmux display-message -t "$session:dev" -p '#{pane_id}')
|
|
||||||
tmux split-window -h -t "$left" -c "$dir" $shell
|
|
||||||
set -l right (tmux display-message -t "$session:dev" -p '#{pane_id}')
|
|
||||||
tmux send-keys -t "$left" 'devbox services attach' Enter
|
|
||||||
|
|
||||||
tmux select-pane -t "$right"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function __attach_session
|
|
||||||
set session "process-compose"
|
|
||||||
|
|
||||||
if test -z "$TMUX"
|
|
||||||
tmux attach-session -t "$session"
|
|
||||||
else
|
|
||||||
set -l current_session (tmux display-message -p '#S')
|
|
||||||
if test "$current_session" != "$session"
|
|
||||||
tmux switch-client -t "$session"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function pc -d "Create and attach to a tmux session for process compose in Obsidian"
|
|
||||||
__create_session
|
|
||||||
__attach_session
|
|
||||||
end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
function record -d "Capture a screen recording with no audio"
|
|
||||||
wf-recorder -c libopenh264 --no-audio -g "$(slurp)" -f output.mp4
|
|
||||||
end
|
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
function reencode -d "Re-encode a video to VBR with no audio" -a input
|
|
||||||
set -l name (string replace -r '\.[^.]+$' '' $input)
|
|
||||||
set -l ext (string replace -r '.*\.' '' $input)
|
|
||||||
set -l output "$name-reenc.$ext"
|
|
||||||
|
|
||||||
ffmpeg -i $input -c:v libopenh264 -crf 23 -preset slow -an $output
|
|
||||||
end
|
|
||||||
@@ -7,9 +7,6 @@ promptToReturnFromSubprocess: false # removes "press enter to return to lazygit"
|
|||||||
notARepository: 'skip'
|
notARepository: 'skip'
|
||||||
git:
|
git:
|
||||||
autoForwardBranches: "none"
|
autoForwardBranches: "none"
|
||||||
pagers:
|
|
||||||
- pager: delta --paging=never --line-numbers --hyperlinks --hyperlinks-file-link-format="lazygit-edit://{path}:{line}"
|
|
||||||
- pager: delta --paging=never --line-numbers --no-gitconfig --light
|
|
||||||
os:
|
os:
|
||||||
editPreset: "nvim"
|
editPreset: "nvim"
|
||||||
gui:
|
gui:
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
// markdownlint-cli2 base config used by nvim-lint (see lua/plugins/markdown.lua).
|
|
||||||
"config": {
|
|
||||||
// Disable line-length errors; long lines are soft-wrapped on purpose.
|
|
||||||
"MD013": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,44 +1,46 @@
|
|||||||
{
|
{
|
||||||
"LazyVim": { "branch": "main", "commit": "83d90f339defdb109a6ede333865a66ffc7ef6aa" },
|
"CopilotChat.nvim": { "branch": "main", "commit": "21bdecb25aa72119d11d7fc08c7e0ce323f1b540" },
|
||||||
"SchemaStore.nvim": { "branch": "main", "commit": "1ccbd3720b5064146b16d7761957da302ea1e86f" },
|
"LazyVim": { "branch": "main", "commit": "28db03f958d58dfff3c647ce28fdc1cb88ac158d" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
"SchemaStore.nvim": { "branch": "main", "commit": "fb7b9034285a5658c746faa12eff8c1c9d9b11b1" },
|
||||||
|
"blink-copilot": { "branch": "main", "commit": "7ad8209b2f880a2840c94cdcd80ab4dc511d4f39" },
|
||||||
|
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
"catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" },
|
"catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
|
||||||
"code-review.nvim": { "branch": "main", "commit": "ed91462e20bd08c3be71efb11a4a7d00459f0b47" },
|
"conform.nvim": { "branch": "master", "commit": "238f542a118984a88124fc915d5b981680418707" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" },
|
"copilot.lua": { "branch": "master", "commit": "0ab400d547814b04b39a069208ff7b40ab22dfb5" },
|
||||||
"diffview.nvim": { "branch": "main", "commit": "fe01c7c3f11575c8d732fc0c1d52890d33ce41c0" },
|
|
||||||
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
"focus.nvim": { "branch": "master", "commit": "8732b45ceef77b576e60442e768437bce7915107" },
|
||||||
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "42d6aed4e94e0f0bbced16bbdcc42f57673bd75e" },
|
"gitsigns.nvim": { "branch": "main", "commit": "42d6aed4e94e0f0bbced16bbdcc42f57673bd75e" },
|
||||||
"grug-far.nvim": { "branch": "main", "commit": "21790e59dd0109a92a70cb874dd002af186314f5" },
|
"grug-far.nvim": { "branch": "main", "commit": "794f03c97afc7f4b03fb6ec5111be507df1850cf" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
|
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
|
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
||||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1423254f58a3407a5afd5ade0ccd901f3eecc6ba" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "80c0130c5f16b551865a69e832f1feadeedb5fbe" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "e54f5bf5f12c560da31c17eee5b3e1bd369f3ff9" },
|
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||||
"mini.ai": { "branch": "main", "commit": "7e10ce8468c0fce4f527ae2c0e5c484f7667f73d" },
|
"mini.ai": { "branch": "main", "commit": "bfb26d9072670c3aaefab0f53024b2f3729c8083" },
|
||||||
"mini.diff": { "branch": "main", "commit": "0ee0459152b141c0e1b0931eb6949105be4850a9" },
|
"mini.diff": { "branch": "main", "commit": "6010e588e9ed14724880f244d7fa3df8f0be3f46" },
|
||||||
"mini.icons": { "branch": "main", "commit": "bac6317300e205335df425296570d84322730067" },
|
"mini.icons": { "branch": "main", "commit": "efc85e42262cd0c9e1fdbf806c25cb0be6de115c" },
|
||||||
"mini.pairs": { "branch": "main", "commit": "42387c7fe68fc0b6e95eaf37f1bb76e7bffaa0d9" },
|
"mini.pairs": { "branch": "main", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" },
|
||||||
"mini.surround": { "branch": "main", "commit": "2715e04bea3ec9244f15b421dc5b18c0fe326210" },
|
"mini.surround": { "branch": "main", "commit": "cc7b9d0a056b5fa6915ffac1cb91f29bf7c96f69" },
|
||||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
"nvim-ansible": { "branch": "main", "commit": "c7f595d568b588942d4d0c37b5cd6cae3764a148" },
|
"nvim-ansible": { "branch": "main", "commit": "bba61168b7aef735e7f950fdfece5ef6c388eacf" },
|
||||||
"nvim-lint": { "branch": "master", "commit": "eab58b48eb11d7745c11c505e0f3057165902461" },
|
"nvim-lint": { "branch": "master", "commit": "ca6ea12daf0a4d92dc24c5c9ae22a1f0418ade37" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "451d4ef9abd4f0f08e379ef0d55d1c391b6125a7" },
|
"nvim-lspconfig": { "branch": "master", "commit": "92ee7d42320edfbb81f3cad851314ab197fa324a" },
|
||||||
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
|
"nvim-treesitter": { "branch": "main", "commit": "8aada0e3940c573e38b417a226b43bc8675f8958" },
|
||||||
"nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" },
|
"nvim-treesitter-textobjects": { "branch": "main", "commit": "baa6b4ec28c8be5e4a96f9b1b6ae9db85ec422f8" },
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
|
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||||
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
|
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
"render-markdown.nvim": { "branch": "main", "commit": "629eb9533ec989d9d5c6cab8f3ad5372422c24e0" },
|
"render-markdown.nvim": { "branch": "main", "commit": "c54380dd4d8d1738b9691a7c349ecad7967ac12e" },
|
||||||
"sidekick.nvim": { "branch": "main", "commit": "208e1c5b8170c01fd1d07df0139322a76479b235" },
|
"sidekick.nvim": { "branch": "main", "commit": "c2bdf8cfcd87a6be5f8b84322c1b5052e78e302e" },
|
||||||
"snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" },
|
"snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
|
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||||
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
|
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
|
||||||
"vim-tmux-navigator": { "branch": "master", "commit": "e41c431a0c7b7388ae7ba341f01a0d217eb3a432" },
|
"vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
{
|
{
|
||||||
"extras": [
|
"extras": [
|
||||||
|
"lazyvim.plugins.extras.ai.copilot",
|
||||||
|
"lazyvim.plugins.extras.ai.copilot-chat",
|
||||||
"lazyvim.plugins.extras.ai.sidekick",
|
"lazyvim.plugins.extras.ai.sidekick",
|
||||||
"lazyvim.plugins.extras.coding.mini-surround",
|
"lazyvim.plugins.extras.coding.mini-surround",
|
||||||
"lazyvim.plugins.extras.editor.mini-diff",
|
"lazyvim.plugins.extras.editor.mini-diff",
|
||||||
|
|||||||
@@ -1,10 +1,3 @@
|
|||||||
-- Keymaps are automatically loaded on the VeryLazy event
|
-- Keymaps are automatically loaded on the VeryLazy event
|
||||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||||
-- Add any additional keymaps here
|
-- Add any additional keymaps here
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>aP", function()
|
|
||||||
Snacks.picker.files({
|
|
||||||
cwd = vim.fn.expand("~/.claude/plans"),
|
|
||||||
title = "Claude plans",
|
|
||||||
})
|
|
||||||
end, { desc = "Find Claude plan" })
|
|
||||||
|
|||||||
@@ -10,6 +10,3 @@ vim.g.lazyvim_prettier_needs_config = true
|
|||||||
|
|
||||||
-- Use eslint for formatting.
|
-- Use eslint for formatting.
|
||||||
vim.g.lazyvim_eslint_auto_format = true
|
vim.g.lazyvim_eslint_auto_format = true
|
||||||
|
|
||||||
-- Only run prettier in directories where there is a config file.
|
|
||||||
vim.g.lazyvim_prettier_needs_config = false
|
|
||||||
|
|||||||
@@ -1,72 +0,0 @@
|
|||||||
-- Cheatsheet
|
|
||||||
--
|
|
||||||
-- Workflow: open a plan/diff from Claude Code, mark it up, copy, paste back.
|
|
||||||
-- Works inside Diffview buffers as well.
|
|
||||||
--
|
|
||||||
-- Keymaps:
|
|
||||||
-- <leader>rc Add comment at cursor or visual selection
|
|
||||||
-- <leader>rp Preview all comments (editable buffer)
|
|
||||||
-- <leader>ry Copy review to clipboard (paste into Claude Code)
|
|
||||||
-- <leader>rs Show comments at cursor
|
|
||||||
-- <leader>rl List all comments (Telescope/fzf/quickfix)
|
|
||||||
-- <leader>rd Delete comment at cursor
|
|
||||||
-- <leader>rx Clear all comments
|
|
||||||
-- <leader>rw Save review to file
|
|
||||||
--
|
|
||||||
-- Inside the comment input window: <C-s> submits, <Esc> or q cancels.
|
|
||||||
-- (Terminals can't distinguish <C-CR> from <CR>, so we bind <C-s> instead.)
|
|
||||||
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
opts = {
|
|
||||||
spec = {
|
|
||||||
{ "<leader>r", group = "review" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"choplin/code-review.nvim",
|
|
||||||
cmd = {
|
|
||||||
"CodeReviewComment",
|
|
||||||
"CodeReviewShowComment",
|
|
||||||
"CodeReviewList",
|
|
||||||
"CodeReviewPreview",
|
|
||||||
"CodeReviewSave",
|
|
||||||
"CodeReviewCopy",
|
|
||||||
"CodeReviewClear",
|
|
||||||
"CodeReviewDeleteComment",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>rc", mode = { "n", "v" }, desc = "Code review: add comment" },
|
|
||||||
{ "<leader>rp", desc = "Code review: preview" },
|
|
||||||
{ "<leader>ry", desc = "Code review: copy to clipboard" },
|
|
||||||
{ "<leader>rs", desc = "Code review: show at cursor" },
|
|
||||||
{ "<leader>rl", desc = "Code review: list comments" },
|
|
||||||
{ "<leader>rd", desc = "Code review: delete at cursor" },
|
|
||||||
{ "<leader>rx", desc = "Code review: clear all" },
|
|
||||||
{ "<leader>rw", desc = "Code review: save to file" },
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
ui = {
|
|
||||||
input_window = {
|
|
||||||
title = " Add Comment (C-s to submit) ",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
output = {
|
|
||||||
-- Flat format optimized for pasting into AI assistants like Claude Code:
|
|
||||||
-- path/to/file.lua:L42: comment text
|
|
||||||
format = "minimal",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "CodeReviewInputEnter",
|
|
||||||
callback = function(ev)
|
|
||||||
local funcs = require("code-review").get_input_buffer_functions(ev.data.buf)
|
|
||||||
vim.keymap.set({ "i", "n" }, "<C-s>", funcs.submit, { buffer = ev.data.buf })
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
-- Cheatsheet
|
|
||||||
--
|
|
||||||
-- Keymaps:
|
|
||||||
-- <leader>gv Toggle working-tree diff (uncommitted changes vs HEAD)
|
|
||||||
-- <leader>gV File history for the whole branch
|
|
||||||
-- <leader>gH File history for the current file (archaeology)
|
|
||||||
--
|
|
||||||
-- DiffviewOpen — compare two states, flat list of changed files:
|
|
||||||
-- :DiffviewOpen uncommitted changes
|
|
||||||
-- :DiffviewOpen HEAD~3 last 3 commits + uncommitted
|
|
||||||
-- :DiffviewOpen main...feature PR-style: what feature adds vs main
|
|
||||||
--
|
|
||||||
-- DiffviewFileHistory — browse commits over time, pick one to see its diff:
|
|
||||||
-- :DiffviewFileHistory every commit reachable from HEAD
|
|
||||||
-- :DiffviewFileHistory % only commits touching current file
|
|
||||||
-- :DiffviewFileHistory path/to/dir only commits touching that path
|
|
||||||
-- :DiffviewFileHistory --range=main..HEAD only commits on this branch
|
|
||||||
--
|
|
||||||
-- Inside the view: q closes, <tab>/<s-tab> next/prev file, g? for full help.
|
|
||||||
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"dlyongemallo/diffview.nvim",
|
|
||||||
cmd = {
|
|
||||||
"DiffviewOpen",
|
|
||||||
"DiffviewClose",
|
|
||||||
"DiffviewToggleFiles",
|
|
||||||
"DiffviewFocusFiles",
|
|
||||||
"DiffviewRefresh",
|
|
||||||
"DiffviewFileHistory",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>gv",
|
|
||||||
function()
|
|
||||||
if next(require("diffview.lib").views) == nil then
|
|
||||||
vim.cmd("DiffviewOpen")
|
|
||||||
else
|
|
||||||
vim.cmd("DiffviewClose")
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
desc = "Diffview toggle (working tree)",
|
|
||||||
},
|
|
||||||
{ "<leader>gV", "<cmd>DiffviewFileHistory<cr>", desc = "Diffview file history (branch)" },
|
|
||||||
{ "<leader>gH", "<cmd>DiffviewFileHistory %<cr>", desc = "Diffview file history (current file)" },
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
-- Attach LSP to the working-tree side so gd/references/diagnostics work.
|
|
||||||
default_args = {
|
|
||||||
DiffviewOpen = { "--imply-local" },
|
|
||||||
DiffviewFileHistory = { "--imply-local" },
|
|
||||||
},
|
|
||||||
enhanced_diff_hl = true,
|
|
||||||
view = {
|
|
||||||
merge_tool = {
|
|
||||||
layout = "diff3_mixed",
|
|
||||||
disable_diagnostics = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
-- Resize window to prioritize the focused on.
|
||||||
|
-- https://github.com/nvim-focus/focus.nvim
|
||||||
|
return {
|
||||||
|
"nvim-focus/focus.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
enable = true,
|
||||||
|
ui = {
|
||||||
|
-- Display line numbers in the focused window only.
|
||||||
|
hybridnumber = true,
|
||||||
|
|
||||||
|
-- Display signcolumn in the focused window only.
|
||||||
|
signcolumn = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("focus").setup({})
|
||||||
|
|
||||||
|
local ignore_buftypes = { "dbui", "nofile" }
|
||||||
|
local ignore_filetypes =
|
||||||
|
{ "dbui", "dapui_breakpoints", "dapui_stacks", "dapui_scopes", "dap_repl", "dapui_console" }
|
||||||
|
local augroup = vim.api.nvim_create_augroup("FocusDisable", { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("WinEnter", {
|
||||||
|
group = augroup,
|
||||||
|
callback = function(_)
|
||||||
|
if vim.tbl_contains(ignore_buftypes, vim.bo.buftype) then
|
||||||
|
vim.w.focus_disable = true
|
||||||
|
else
|
||||||
|
vim.w.focus_disable = false
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Disable focus autoresize for BufType",
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
group = augroup,
|
||||||
|
callback = function(_)
|
||||||
|
if vim.tbl_contains(ignore_filetypes, vim.bo.filetype) then
|
||||||
|
vim.b.focus_disable = true
|
||||||
|
else
|
||||||
|
vim.b.focus_disable = false
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Disable focus autoresize for FileType",
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
return {
|
return {
|
||||||
-- Ensure eslint LSP is installed
|
-- Ensure eslint LSP is installed
|
||||||
{
|
{
|
||||||
"mason-org/mason.nvim",
|
"williamboman/mason.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = { "eslint-lsp" },
|
ensure_installed = { "eslint-lsp" },
|
||||||
},
|
},
|
||||||
@@ -33,40 +33,16 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Format with eslint on save, or prettier if project has prettier config
|
-- Format with eslint on save
|
||||||
{
|
{
|
||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
opts = function()
|
opts = {
|
||||||
local function has_prettier_config(bufnr)
|
|
||||||
local root = vim.fs.root(bufnr, {
|
|
||||||
".prettierrc",
|
|
||||||
".prettierrc.json",
|
|
||||||
".prettierrc.js",
|
|
||||||
".prettierrc.cjs",
|
|
||||||
".prettierrc.yaml",
|
|
||||||
".prettierrc.yml",
|
|
||||||
"prettier.config.js",
|
|
||||||
"prettier.config.cjs",
|
|
||||||
})
|
|
||||||
return root ~= nil
|
|
||||||
end
|
|
||||||
|
|
||||||
local function js_formatters(bufnr)
|
|
||||||
if has_prettier_config(bufnr) then
|
|
||||||
return { "prettier" }
|
|
||||||
end
|
|
||||||
return { "eslint_d" }
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
javascript = js_formatters,
|
javascript = { "eslint_d" },
|
||||||
javascriptreact = js_formatters,
|
javascriptreact = { "eslint_d" },
|
||||||
typescript = js_formatters,
|
typescript = { "eslint_d" },
|
||||||
typescriptreact = js_formatters,
|
typescriptreact = { "eslint_d" },
|
||||||
svelte = js_formatters,
|
},
|
||||||
},
|
},
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
return {
|
|
||||||
-- Point markdownlint-cli2 at a global config so MD013 (line-length) stays
|
|
||||||
-- disabled everywhere. The linter runs over stdin, so it can't reliably
|
|
||||||
-- auto-discover a per-project config; pass --config explicitly instead.
|
|
||||||
{
|
|
||||||
"mfussenegger/nvim-lint",
|
|
||||||
opts = function()
|
|
||||||
local config = vim.fn.stdpath("config") .. "/.markdownlint-cli2.jsonc"
|
|
||||||
require("lint").linters["markdownlint-cli2"].args = { "--config", config, "-" }
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/persistence.nvim",
|
|
||||||
init = function()
|
|
||||||
vim.api.nvim_create_autocmd("VimEnter", {
|
|
||||||
group = vim.api.nvim_create_augroup("PersistenceAutoload", { clear = true }),
|
|
||||||
nested = true,
|
|
||||||
callback = function()
|
|
||||||
if vim.fn.argc() == 0 then
|
|
||||||
require("persistence").load()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
vim.api.nvim_create_autocmd({ "BufWritePost", "FocusLost" }, {
|
|
||||||
group = vim.api.nvim_create_augroup("PersistenceCrashSave", { clear = true }),
|
|
||||||
callback = function()
|
|
||||||
require("persistence").save()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -236,16 +236,6 @@ bindsym $mod+r mode "resize"
|
|||||||
# Capture rectangle
|
# Capture rectangle
|
||||||
bindsym $mod+Shift+s exec grim -c -g "$(slurp)" - | satty --early-exit --output-filename "/home/tgrosinger/Pictures/$(date +'%Y-%m-%dT%H:%M:%S_grim.png')" --copy-command "wl-copy" -f - && swaymsg 'mode "default"'
|
bindsym $mod+Shift+s exec grim -c -g "$(slurp)" - | satty --early-exit --output-filename "/home/tgrosinger/Pictures/$(date +'%Y-%m-%dT%H:%M:%S_grim.png')" --copy-command "wl-copy" -f - && swaymsg 'mode "default"'
|
||||||
|
|
||||||
#
|
|
||||||
# Program-specific rules
|
|
||||||
#
|
|
||||||
|
|
||||||
# Possible fix for using web clipper.
|
|
||||||
for_window [class="obsidian"] focus_on_window_activation focus
|
|
||||||
|
|
||||||
# Handy transcribing
|
|
||||||
bindsym $mod+o exec handy --toggle-transcription
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Theme
|
# Theme
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -57,12 +57,7 @@
|
|||||||
mnemonicPrefix = true
|
mnemonicPrefix = true
|
||||||
renames = true
|
renames = true
|
||||||
|
|
||||||
[include]
|
|
||||||
path = /home/tgrosinger/.config/delta/themes/catppuccin.gitconfig
|
|
||||||
|
|
||||||
[delta]
|
[delta]
|
||||||
# Does not behave well for comments
|
|
||||||
#features = catppuccin-latte
|
|
||||||
navigate = true
|
navigate = true
|
||||||
light = true
|
light = true
|
||||||
side-by-side = true
|
side-by-side = true
|
||||||
@@ -98,8 +93,3 @@
|
|||||||
|
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = main
|
defaultBranch = main
|
||||||
[filter "lfs"]
|
|
||||||
clean = git-lfs clean -- %f
|
|
||||||
smudge = git-lfs smudge -- %f
|
|
||||||
process = git-lfs filter-process
|
|
||||||
required = true
|
|
||||||
|
|||||||
+1
-13
@@ -14,11 +14,7 @@ set -g set-clipboard on
|
|||||||
### Reload the config with r
|
### Reload the config with r
|
||||||
bind-key r source-file ~/.tmux.conf\; display-message "Reloaded config"
|
bind-key r source-file ~/.tmux.conf\; display-message "Reloaded config"
|
||||||
|
|
||||||
### Kill the current session
|
### Toggle Mouse Mode
|
||||||
bind-key X confirm-before -p "Kill session #S? (y/n)" kill-session
|
|
||||||
|
|
||||||
### Mouse mode on by default; toggle with prefix + m
|
|
||||||
set -g mouse on
|
|
||||||
bind-key m set-window-option mouse\; display-message "mouse support is now #{?mouse,on,off}"
|
bind-key m set-window-option mouse\; display-message "mouse support is now #{?mouse,on,off}"
|
||||||
|
|
||||||
### Open LazyGit in a popup
|
### Open LazyGit in a popup
|
||||||
@@ -77,14 +73,6 @@ set -g @catppuccin_window_status_enable "no"
|
|||||||
set -g @plugin 'tmux-plugins/tpm'
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
set -g @plugin 'catppuccin/tmux'
|
set -g @plugin 'catppuccin/tmux'
|
||||||
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-continuum'
|
|
||||||
|
|
||||||
# Session persistence (resurrect + continuum)
|
|
||||||
set -g @continuum-restore 'on'
|
|
||||||
set -g @continuum-save-interval '10'
|
|
||||||
set -g @resurrect-capture-pane-contents 'on'
|
|
||||||
set -g @resurrect-strategy-nvim 'session'
|
|
||||||
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
run '~/.tmux/plugins/tpm/tpm'
|
run '~/.tmux/plugins/tpm/tpm'
|
||||||
|
|||||||
+13
-26
@@ -6,18 +6,8 @@ echo "Installing homebrew"
|
|||||||
|
|
||||||
# NOTE: Do not brew install anything with a dependency on node.
|
# NOTE: Do not brew install anything with a dependency on node.
|
||||||
# Instead, install with npm -g.
|
# Instead, install with npm -g.
|
||||||
#
|
|
||||||
# NPM configured with a different home directory to avoid conflicting with devbox global.
|
|
||||||
#
|
|
||||||
# npm config set prefix $HOME/.npm-global
|
|
||||||
# fish_add_path $HOME/.npm-global/bin
|
|
||||||
# npm install -g @anthropic-ai/sandbox-runtime
|
|
||||||
|
|
||||||
# NOTE: claude was installed using the install script:
|
|
||||||
# curl -fsSL https://claude.ai/install.sh | bash
|
|
||||||
|
|
||||||
brew install \
|
brew install \
|
||||||
anomalyco/tap/opencode \
|
|
||||||
atuin \
|
atuin \
|
||||||
bat \
|
bat \
|
||||||
btop \
|
btop \
|
||||||
@@ -30,7 +20,6 @@ brew install \
|
|||||||
gh \
|
gh \
|
||||||
git \
|
git \
|
||||||
git-delta \
|
git-delta \
|
||||||
hmans/beans/beans \
|
|
||||||
jq \
|
jq \
|
||||||
lazygit \
|
lazygit \
|
||||||
neovim \
|
neovim \
|
||||||
@@ -39,6 +28,7 @@ brew install \
|
|||||||
stow \
|
stow \
|
||||||
tmux
|
tmux
|
||||||
#crane \
|
#crane \
|
||||||
|
#deno \
|
||||||
#go \
|
#go \
|
||||||
#gron \
|
#gron \
|
||||||
#hadolint \
|
#hadolint \
|
||||||
@@ -47,9 +37,6 @@ brew install \
|
|||||||
#stripe-cli \
|
#stripe-cli \
|
||||||
#visidata \
|
#visidata \
|
||||||
|
|
||||||
# OpenAI Codex
|
|
||||||
brew install --cask codex
|
|
||||||
|
|
||||||
brew services start atuin
|
brew services start atuin
|
||||||
|
|
||||||
# Previously these were installed with npm because I didn't want to use brew to
|
# Previously these were installed with npm because I didn't want to use brew to
|
||||||
@@ -58,10 +45,12 @@ brew services start atuin
|
|||||||
#npm install -g mjml
|
#npm install -g mjml
|
||||||
#npm install -g jsonlint
|
#npm install -g jsonlint
|
||||||
|
|
||||||
|
# Install ble.sh
|
||||||
|
# https://github.com/akinomyoga/ble.sh
|
||||||
|
|
||||||
# Install system packages
|
# Install system packages
|
||||||
sudo dnf install \
|
sudo dnf install \
|
||||||
alacritty \
|
alacritty \
|
||||||
bubblewrap \
|
|
||||||
copyq \
|
copyq \
|
||||||
direnv \
|
direnv \
|
||||||
distrobox \
|
distrobox \
|
||||||
@@ -71,7 +60,6 @@ sudo dnf install \
|
|||||||
podman \
|
podman \
|
||||||
qalculate qalculate-gtk \ # Homebrew version installs x11 and waylany in brew.
|
qalculate qalculate-gtk \ # Homebrew version installs x11 and waylany in brew.
|
||||||
slurp \
|
slurp \
|
||||||
socat \
|
|
||||||
wf-recorder
|
wf-recorder
|
||||||
|
|
||||||
# Install tailscale
|
# Install tailscale
|
||||||
@@ -81,20 +69,19 @@ sudo dnf install \
|
|||||||
# https://github.com/Satty-org/Satty
|
# https://github.com/Satty-org/Satty
|
||||||
|
|
||||||
# Install flatpaks
|
# Install flatpaks
|
||||||
flatpak install flathub com.github.jeromerobert.pdfarranger
|
flatpak install io.dbeaver.DBeaverCommunity
|
||||||
flatpak install flathub fr.handbrake.ghb
|
|
||||||
flatpak install flathub org.gimp.GIMP
|
flatpak install flathub org.gimp.GIMP
|
||||||
|
flatpak install flathub org.gnucash.GnuCash
|
||||||
|
flatpak install flathub org.kde.digikam
|
||||||
|
flatpak install flathub org.libreoffice.LibreOffice
|
||||||
|
flatpak install flathub org.kde.okular
|
||||||
|
flatpak install flathub org.inkscape.Inkscape
|
||||||
|
flatpak install flathub org.kde.kdenlive
|
||||||
|
flatpak install flathub org.kde.skanpage
|
||||||
flatpak install flathub org.gimp.GIMP
|
flatpak install flathub org.gimp.GIMP
|
||||||
flatpak install flathub org.gimp.GIMP.Plugin.GMic
|
flatpak install flathub org.gimp.GIMP.Plugin.GMic
|
||||||
flatpak install flathub org.gnucash.GnuCash
|
|
||||||
flatpak install flathub org.inkscape.Inkscape
|
|
||||||
flatpak install flathub org.jellyfin.JellyfinDesktop
|
|
||||||
flatpak install flathub org.kde.digikam
|
|
||||||
flatpak install flathub org.kde.kdenlive
|
|
||||||
flatpak install flathub org.kde.okular
|
|
||||||
flatpak install flathub org.kde.skanpage
|
|
||||||
flatpak install flathub org.libreoffice.LibreOffice
|
|
||||||
flatpak install flathub org.musicbrainz.Picard
|
flatpak install flathub org.musicbrainz.Picard
|
||||||
|
flatpak install flathub fr.handbrake.ghb
|
||||||
|
|
||||||
# Install devbox
|
# Install devbox
|
||||||
# https://www.jetify.com/docs/devbox/installing-devbox
|
# https://www.jetify.com/docs/devbox/installing-devbox
|
||||||
|
|||||||
Reference in New Issue
Block a user