Merge remote-tracking branch 'origin/master' into arch-laptop

This commit is contained in:
Michael Chalupiak
2026-10-12 18:50:36 -06:00
18 changed files with 574 additions and 598 deletions

View File

@@ -140,8 +140,8 @@ alias zf='z $(flirt)'
# ~/.bash_aliases, instead of adding them here directly. # ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package. # See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -z "$EDITOR" ]; then if [ -z "$EDITOR" ]; then
# export EDITOR=kak export EDITOR=kak
export EDITOR='nvim' # export EDITOR='nvim'
fi fi
if [ -f ~/.bash_aliases ]; then if [ -f ~/.bash_aliases ]; then
@@ -154,7 +154,8 @@ if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then
export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/ export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/
fi fi
eval "$(zoxide init bash)" eval "$(zoxide init bash)"
eval "$(fzf --bash)" # eval "$(fzf --bash)"
eval "$(sk --shell bash --shell-bindings)"
export TMUX_TMPDIR=/tmp export TMUX_TMPDIR=/tmp
export TINTED_SHELL_ENABLE_BASE16_VARS=1 export TINTED_SHELL_ENABLE_BASE16_VARS=1
@@ -182,19 +183,21 @@ tinty_source_shell_theme() {
# alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources' # alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources'
# fi # fi
run_kak() { # run_kak() {
/usr/bin/kak -c $SESH 2>/dev/null "$@" || /usr/bin/kak -s $SESH "$@" # /usr/local/bin/kak -c $SESH 2>/dev/null "$@" || /usr/local/bin/kak -s $SESH "$@"
} # }
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ] && [ -z "$TMUX" ]; then if [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ] && [ -z "$TMUX" ]; then
SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)" SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)"
alias kak='tmux new-session -e "EDITOR=\"/usr/bin/kak -c $SESH\"" -s $SESH /usr/bin/kak -s $SESH > /dev/null' alias kakc='kak -C $SESH'
# alias kak='tmux new-session -e "EDITOR=\"/usr/local/bin/kak -c $SESH\"" -s $SESH /usr/local/bin/kak > /dev/null'
elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then
SESH="$(tmux display-message -p '#S')" SESH="$(tmux display-message -p '#S')"
alias kakc='kak -C $SESH'
# alias kak='kak -c $SESH 2>/dev/null || kak -s $SESH' # alias kak='kak -c $SESH 2>/dev/null || kak -s $SESH'
alias kak=run_kak # alias kak=run_kak
alias vidir='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vidir' # alias vidir='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vidir'
alias vipe='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vipe' # alias vipe='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vipe'
fi fi
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then

View File

@@ -15,33 +15,30 @@ plug "andreyorst/smarttab.kak" defer smarttab %{
plug "occivink/kakoune-sudo-write" plug "occivink/kakoune-sudo-write"
plug "jtrv/grep-write.kak"
plug "kak-lsp/kak-lsp" do %{ plug "kak-lsp/kak-lsp" do %{
cargo install --locked --force --path . cargo install --locked --force --path .
} }
plug "gustavo-hms/luar" config %{
require-module luar
}
plug "gustavo-hms/peneira" config %{
require-module peneira
set-option global luar_interpreter luajit
set-option global peneira_files_command 'fd -t f -I'
}
plug 'theowenyoung/kakoune-buffer-manager'
plug "h-youhei/kakoune-surround" plug "h-youhei/kakoune-surround"
plug "eburghar/kakpipe" do %{ plug "your-tools/kak-subvert" do %{
cargo install --force --path . --root ~/.local cargo install --locked --force --path .
} config %{
require-module kakpipe
} }
plug "gustavo-hms/luar" %{
require-module luar
}
plug "gustavo-hms/peneira" %{
require-module peneira
}
plug "caksoylar/kakoune-focus" config %{
# configuration here
}
plug "jtrv/grep-write.kak"
# # Color Themes
plug "tinted-theming/base16-kakoune" theme
plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme
### End Of Plugins ### ### End Of Plugins ###
## Treesitter ## ## Treesitter ##
@@ -50,65 +47,18 @@ eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init
## Highlighting ## ## Highlighting ##
hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor} hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor}
add-highlighter global/ show-matching add-highlighter global/ show-matching
add-highlighter global/ show-whitespaces -spc " " -nbsp "" add-highlighter global/ show-whitespaces -spc " " -nbsp "" -indent " "
## Wrapping ## ## Wrapping ##
add-highlighter global/ wrap -word -indent add-highlighter global/ wrap -word -indent
set-option global grepcmd 'ag'
## Formatting ## ## Formatting ##
define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{ define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
hook global -group autofmt BufSetOption filetype=(c|cpp) %{
hook global -group autofmt BufSetOption filetype=(zig) %{ set-option buffer formatcmd 'clang-format'
set-option buffer formatcmd 'zig fmt --stdin'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(html) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(css) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(javascript) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser typescript'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(go) %{
set-option buffer formatcmd 'gofmt'
hook -group autofmt buffer BufOpenFile .* %{ hook -group autofmt buffer BufOpenFile .* %{
format format
@@ -124,97 +74,24 @@ define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{
remove-hooks global autofmt remove-hooks global autofmt
} }
# enable-autofmt enable-autofmt
## Indentation ## ## Indentation ##
set global tabstop 4 set global tabstop 4
set global indentwidth 4 set global indentwidth 4
hook global WinSetOption filetype=.* expandtab hook global WinSetOption filetype=.* expandtab
hook global WinSetOption filetype=(makefile|gas|go) noexpandtab hook global WinSetOption filetype=(makefile|gas) noexpandtab
# hook global BufCreate .* %{ hook global BufCreate .* %{
# editorconfig-load autoconfigtab
# autoconfigtab
# }
define-command set-spell -docstring 'Enable spellcheck' %{
# hook -group spellcheck global BufOpenFile .* %{
hook -group spellcheck buffer InsertChar .* %{
evaluate-commands %{
spell
}
}
hook -group spellcheck buffer InsertDelete .* %{
evaluate-commands %{
spell
}
}
# }
} }
define-command set-nospell -docstring 'Disable spellcheck' %{
remove-hooks buffer spellcheck
}
define-command sleuth -docstring 'Heuristically set buffer options' %{
try %{
evaluate-commands -draft %{
info 'trying'
# Search the first indent level
execute-keys 'gg' '/' '^\h+' '<ret>'
# Tab vs. Space
# https://youtu.be/V7PLxL8jIl8
try %{
execute-keys '<a-k>' '\t' '<ret>'
#set-option buffer indentwidth 0
noexpandtab
} catch %{
set-option buffer indentwidth %val{selection_length}
expandtab
}
}
}
}
define-command git-status -docstring 'Show git diff' %{
hook -group git-status global BufOpenFile .* %{
git show-diff
}
hook -group git-status global BufWritePost .* %{
git show-diff
}
}
define-command disable-git-status -docstring 'Disable git diff gutter' %{
remove-hooks global git-status
}
define-command sleuth-enable -docstring 'Enable sleuth' %{
# Run sleuth when opening and saving files.
hook -group sleuth global BufOpenFile .* %{
sleuth
}
hook -group sleuth global BufWritePost .* %{
sleuth
}
}
define-command sleuth-disable -docstring 'Disable sleuth' %{
remove-hooks global sleuth
}
sleuth-enable
## LSP ## ## LSP ##
set-option global autocomplete 'prompt'
lsp-enable lsp-enable
lsp-inlay-diagnostics-enable global # lsp-inlay-diagnostics-enable global
set-option global lsp_auto_highlight_references true # set-option global lsp_auto_highlight_references true
set-option global lsp_hover_anchor true # set-option global lsp_hover_anchor true
lsp-auto-signature-help-enable lsp-auto-signature-help-enable
lsp-inlay-hints-enable global # lsp-inlay-hints-enable global
map global user k ':lsp-hover<ret>' map global user k ':lsp-hover<ret>'
@@ -248,6 +125,14 @@ hook -group lsp-filetype-swift global BufSetOption filetype=swift %{
} }
} }
hook -group lsp-filetype-odin global BufSetOption filetype=odin %{
set-option buffer lsp_servers %{
[ols]
root_globs = [".git", ".hg", "ols.json", "main.odin"]
scope = "source.odin"
}
}
hook -group lsp-filetype-typst global BufSetOption filetype=typst %{ hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
set-option buffer lsp_servers %{ set-option buffer lsp_servers %{
[tinymist] [tinymist]
@@ -265,48 +150,74 @@ hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
set-option global lsp_config %{ set-option global lsp_config %{
} }
declare-option str findcmd 'fd' define-command -docstring 'git log' git-log %{
evaluate-commands %sh{
output=$(mktemp -d "${TMPDIR:-/tmp}"/kak-git.XXXXXXXX)/fifo
mkfifo ${output}
( trap - INT QUIT; git log > ${output} 2>&1 & ) > /dev/null 2>&1 < /dev/null
define-command -docstring 'Find file' fd -params 1 %{ printf %s "evaluate-commands -try-client '$kak_opt_docsclient' '
edit! -fifo ${output} *git*
set-option buffer filetype git-log
$(hide_blame)
set-option buffer git_blob %{}
hook -always -once buffer BufCloseFifo .* ''
nop %sh{ rm -r $(dirname ${output}) }
''
'"
}
}
define-command -docstring 'fd find files' -params 1 fd %{
edit %arg{1} edit %arg{1}
} }
complete-command fd shell-script-candidates %opt{findcmd} complete-command -menu fd shell-script-candidates 'fd -I -t f .'
declare-option -hidden str-list last_command declare-option -hidden str last_command
define-command -hidden run_cmd -params .. %{ define-command -docstring 'compile a la emacs' compile %{
kakpipe -n %arg{1} %arg{@} prompt -init "%opt{last_command}" -shell-completion "Command: " compile_text
} }
define-command -hidden run_cmd_bg -params .. %{ define-command -docstring 'compile_text' compile_text -hidden %{
kakpipe-bg -n %arg{1} %arg{@} evaluate-commands %{
evaluate-commands -try-client %opt{toolsclient} %{
fifo -scroll -name *compile-mode* -script %{
trap - INT QUIT
printf "*compilation started at $(date)*\n"
eval "$kak_quoted_text"
exit_code=$?
if [ $exit_code == 0 ]; then
printf "*compilation finished at $(date)*\n"
else
printf "*compilation exited abnormally at $(date) with exit code $exit_code*\n"
fi
} -- %arg{@}
set-option buffer filetype cmd
set-option buffer jump_current_line 0
set-option global last_command %val{text}
}
}
} }
define-command -docstring 'run command in fifo' cmd -params .. %{ define-command -docstring 'compile_run' compile_run -params .. -hidden %{
run_cmd %arg{@} evaluate-commands -save-regs ab %{
set-option global last_command %arg{@} set-register a %arg{@}
set-option buffer filetype cmd set-register b %sh{ printf "*%s*" "$1" }
evaluate-commands -try-client %opt{toolsclient} %{
fifo -name %reg{b} -script %{
trap - INT QUIT
eval "$kak_quoted_reg_a"
} -- %arg{@}
}
}
} }
define-command -docstring 'run command in fifo (background buffer)' cmd-bg -params .. %{ define-command -hidden cmd-jmp %{
run_cmd_bg %arg{@}
set-option global last_command %arg{@}
set-option buffer filetype cmd
}
define-command -docstring 'rerun last command' rcmd %{
cmd %opt{last_command}
}
define-command -docstring 'rerun last command in background' rcmd-bg %{
cmd-bg %opt{last_command}
}
define-command -hidden cmd-jump %{
evaluate-commands -save-regs a %{ evaluate-commands -save-regs a %{
try %{ try %{
execute-keys 'ght<ret>"ay' execute-keys -draft 'ght<ret>"ay'
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a} evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
try %{ focus %opt{jumpclient} } try %{ focus %opt{jumpclient} }
} catch %{ } catch %{
@@ -317,77 +228,108 @@ define-command -hidden cmd-jump %{
hook -group cmd-highlight global WinSetOption filetype=cmd %{ hook -group cmd-highlight global WinSetOption filetype=cmd %{
add-highlighter window/cmd group add-highlighter window/cmd group
add-highlighter window/cmd/location regex "^([^:\n]+):(\d+):(\d+)?" 1:cyan 2:green 3:green add-highlighter window/cmd/path regex "^([^:\n\*]+[^/:])$" 1:cyan
add-highlighter window/cmd/path regex "^([^:\n]+[^/])$" 1:cyan add-highlighter window/cmd/num-path regex "^([^:\n\*]+):(\d+):(\d+)?" 1:cyan 2:green 3:green
add-highlighter window/cmd/error regex "^([^:\n\*]+):(\d+):(?:(\d+):)?\h+(?:((?:fatal )?error)|(warning)|(note)|(required from(?: here)?))?.*?$" 1:cyan 2:green 3:green 4:red 5:yellow 6:blue 7:yellow
add-highlighter window/cmd/extra regex "^\h*(~*(?:(\^)~*)?)$" 1:green 2:cyan+b
add-highlighter window/cmd/info-error regex "(\*compilation exited abnormally at .+ with exit code )([0-9]+)(\*)" 1:default+b 2:red+b 3:default+b
add-highlighter window/cmd/info regex "^(\*[^\n]+\*)$" 1:default+b
add-highlighter window/cmd/ line %{%opt{jump_current_line}} default+b add-highlighter window/cmd/ line %{%opt{jump_current_line}} default+b
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmd } hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmd}
} }
hook global WinSetOption filetype=cmd %{ hook global WinSetOption filetype=cmd %{
hook buffer -group cmd-hooks NormalKey <ret> cmd-jump hook buffer -group cmd-hooks NormalKey <ret> cmd-jmp
hook -once -always window WinSetOption filetype=.* %{ remove-hooks buffer cmd-hooks } hook -once -always window WinSetOption filetype=.* %{ remove-hooks buffer cmd-hooks }
} }
define-command fzf-buffer -docstring 'Invoke fzf to select a buffer' %{ declare-option str curpath_dirls %sh{pwd}
evaluate-commands %sh{
tmux split-window -l 20% "(printf \"%s\n\" $kak_quoted_buflist | fzf --bind 'focus:execute-silent(echo \"eval -client $kak_client %{ e {} }\" | kak -p $kak_session)' || echo \"$kak_buffile\") | xargs -I{} echo \"eval -client $kak_client %{ e '{}' }\" | /usr/bin/kak -p $kak_session" define-command dirls -params 1 %{
set-option global curpath_dirls "%opt{curpath_dirls}/%arg{1}"
compile_run ls -lh %opt{curpath_dirls}
set-option buffer filetype dirls
}
complete-command dirls file 0
define-command -hidden dirls-jmp %{
evaluate-commands -save-regs ab %{
try %{
execute-keys 'gl<a-t> "ay'
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
try %{ focus %opt{jumpclient} }
} catch %{
execute-keys 'gl<a-t> "ay'
dirls %reg{a}
}
} }
} }
define-command -hidden dirls-jmp-up %{
dirls ".."
}
hook -group dirls-highlight global WinSetOption filetype=dirls %{
add-highlighter window/dirls group
add-highlighter window/dirls/file regex "^(-[^\n]+)$" 1:cyan
add-highlighter window/dirls/folder regex "^(d[^\n]+)$" 1:blue
add-highlighter window/dirls/ line %{%opt{jump_current_line}} default+b
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/dirls}
}
hook global WinSetOption filetype=dirls %{
hook buffer -group dirls-hooks NormalKey <ret> dirls-jmp
hook buffer -group dirls-hooks NormalKey <minus> dirls-jmp-up
}
define-command -docstring 'Print Working Directory' -params 0 pwd %{ define-command -docstring 'Print Working Directory' -params 0 pwd %{
evaluate-commands echo %sh{ echo "$(pwd)"} evaluate-commands echo %sh{ echo "$(pwd)"}
} }
# define-command -docstring 'copy to clipboard' xcopy %{
# execute-keys '<a-|>xclip -selection clipboard -i<ret>'
# }
# define-command -docstring 'paste from clipboard' xpaste %{
# evaluate-commands -save-regs '"' %{
# set-register dquote %sh{ xclip -selection clipboard -o }
# execute-keys 'p'
# }
# }
define-command -docstring 'copy to clipboard' xcopy %{ define-command -docstring 'copy to clipboard' xcopy %{
execute-keys '<a-|>wl-copy<ret>' execute-keys '<a-|>xclip -selection clipboard -i<ret>'
} }
define-command -docstring 'paste from clipboard' xpaste %{ define-command -docstring 'paste from clipboard' xpaste %{
evaluate-commands -save-regs '"' %{ evaluate-commands -save-regs '"' %{
set-register dquote %sh{ wl-paste } set-register dquote %sh{ xclip -selection clipboard -o }
execute-keys 'P' execute-keys 'p'
} }
} }
define-command -docstring 'find files in particular directory' peneira-dir-files %{
peneira-files-configure-buffer
prompt -shell-script-completion '(fd -t d -d 1 -I . $@ || fd -t d -d 1 -I . $(dirname $@)) | (sk -f $@ || cat)' 'directory: ' peneira-files-in-dir
}
define-command peneira-files-in-dir -hidden %{
peneira 'file: ' 'fd -t f -I . $kak_text' 'edit %arg{1}'
}
map -docstring 'fix c-i in silly terminals' global normal '<tab>' '<c-i>'
declare-user-mode config declare-user-mode config
map -docstring 'enter config mode' global user e ':enter-user-mode config<ret>' map -docstring 'enter config mode' global user e ':enter-user-mode config<ret>'
map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc<ret>' map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc<ret>'
map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>' map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>'
map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>' map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>'
map -docstring 'edit scripts folder' global config s ':cd ~/.scripts<ret>:peneira-files<ret>'
map -docstring 'edit .config folder' global config c ':cd ~/.config<ret>:peneira-files<ret>'
declare-user-mode buffer map -docstring 'open buf manager' global user b ':buffer-manager<ret>'
map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer<ret>' map -docstring 'compile mode' global user c ':compile<ret>'
map -docstring 'next buffer' global buffer n ':buffer-next<ret>' map -docstring 'next error' global user ] ':jump-next *compile-mode*<ret>'
map -docstring 'previous buffer' global buffer p ':buffer-previous<ret>' map -docstring 'previous error' global user [ ':jump-previous *compile-mode*<ret>'
map -docstring 'close current buffer' global buffer d ':delete-buffer!<ret>'
map -docstring 'write and close current buffer' global buffer w ':w<ret>:db<ret>'
map -docstring 'list and select a buffer' global buffer b ':fzf-buffer<ret>'
declare-user-mode find map -docstring 'clipboard paste' global user p ':xpaste<ret>'
map -docstring 'enter find mode' global user f ':enter-user-mode find<ret>' map -docstring 'clipboard yank' global user y ':xcopy<ret>'
map -docstring 'find files' global find f ':peneira-files<ret>'
map -docstring 'find tags for the current project' global find t ':peneira-symbols<ret>' map -docstring 'find tags for the current project' global user t ':ctags-search '
map -docstring 'find files in current directory' global find F ':peneira-local-files<ret>'
map -docstring 'find files' global user f ':peneira-files<ret>'
map -docstring 'find files in particular dir' global user F ':peneira-dir-files<ret>'
map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp<ret>' map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp<ret>'
map -docstring 'goto definition (tag)' global lsp t '<a-i>w:ctags-search<ret>' map -docstring 'goto definition (tag)' global lsp t '<a-i>w:ctags-search<ret>'
map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter<ret>'
# map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search<ret>'
declare-user-mode tmux declare-user-mode tmux
map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux<ret>' map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux<ret>'
map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}<ret>' map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}<ret>'
@@ -396,40 +338,9 @@ map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{sessio
map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash<ret>' map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash<ret>'
map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash<ret>' map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash<ret>'
map -docstring 'new terminal tab' global tmux T ':tmux-repl-window<ret>' map -docstring 'new terminal tab' global tmux T ':tmux-repl-window<ret>'
map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit<ret>'
map -docstring 'enter man mode' global user m ':enter-user-mode man<ret>' declare-user-mode general
map -docstring 'enter general keybinds mode' global user g ':enter-user-mode general<ret>'
map -docstring 'toggle comments' global general c ':comment-line<ret>'
#map -docstring 'clipboard yank' global user y '<a-|>clip.exe<ret>' colorscheme dawnfox
map -docstring 'clipboard yank' global user y ':xcopy<ret>'
#map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"<ret>'
map -docstring 'clipboard paste' global user p ':xpaste<ret>'
map -docstring 'toggle comments' global user c ':comment-line<ret>'
declare-user-mode subvert
map global user s ':enter-user-mode subvert<ret>' -docstring 'enter subvert user mode'
map global subvert a '<esc>| kak-subvert ada <ret>' -docstring 'convert to Ada case'
map global subvert c '<esc>| kak-subvert camel <ret>' -docstring 'convert to camel case'
map global subvert k '<esc>| kak-subvert kebab <ret>' -docstring 'convert to kebab case'
map global subvert p '<esc>| kak-subvert pascal <ret>' -docstring 'convert to pascal case'
map global subvert . '<esc>| kak-subvert sentence <ret>' -docstring 'convert to sentence case'
map global subvert s '<esc>| kak-subvert snake <ret>' -docstring 'convert to snake case'
map global subvert S '<esc>| kak-subvert screaming <ret>' -docstring 'convert to screaming case'
map global subvert t '<esc>| kak-subvert train <ret>' -docstring 'convert to train case'
map global subvert T '<esc>| kak-subvert title <ret>' -docstring 'convert to title case'
declare-user-mode spell
map -docstring 'enter spell mode' global user S ':enter-user-mode spell<ret>'
map -docstring 'enable spell check' global spell s ':spell<ret>'
map -docstring 'clear spell check' global spell c ':spell-clear<ret>'
map -docstring 'next spell check' global spell n ':spell-next<ret>'
map -docstring 'spell check replacements' global spell r ':spell-replace<ret>'
map -docstring 'quit kakoune' global user q ':q!<ret>'
try %{
colorscheme %sh{
ruby -e "time = Time.new; if time.hour < 20 and time.hour > 6 then puts 'dawnfox' else puts 'carbonfox' end"
}
} catch %{
colorscheme carbonfox
}

View File

@@ -0,0 +1,2 @@
CompilerSet errorformat&
CompilerSet makeprg=cd\ /home/E40127478/projects/dex/dex_lxb/\ &&\ ./build_all.sh\ $*

View File

@@ -13,7 +13,8 @@
"fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" }, "fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" },
"github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" }, "github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" },
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" }, "github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
"gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" }, "gitsigns.nvim": { "branch": "main", "commit": "851a051e2bd2caba97e23314c68d69f1b1cf5d19" },
"gruvbox-material": { "branch": "master", "commit": "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79" },
"gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" }, "gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"leap.nvim": { "branch": "main", "commit": "d7f8ee64155b7790188f17a993390f32577cfb81" }, "leap.nvim": { "branch": "main", "commit": "d7f8ee64155b7790188f17a993390f32577cfb81" },
@@ -26,7 +27,7 @@
"melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" }, "melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
"mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" }, "mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" },
"monochrome.nvim": { "branch": "main", "commit": "2de78d9688ea4a177bcd9be554ab9192337d35ff" }, "monochrome.nvim": { "branch": "main", "commit": "2de78d9688ea4a177bcd9be554ab9192337d35ff" },
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" }, "monokai.nvim": { "branch": "master", "commit": "fca3943173f6026347f9ffc68baab39454446c3b" },
"moonlight.nvim": { "branch": "pure-lua", "commit": "e24e4218ec680b6396532808abf57ca0ada82e66" }, "moonlight.nvim": { "branch": "pure-lua", "commit": "e24e4218ec680b6396532808abf57ca0ada82e66" },
"moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" }, "moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" },
"multicursor.nvim": { "branch": "1.0", "commit": "704b99f10a72cc05d370cfeb294ff83412a8ab55" }, "multicursor.nvim": { "branch": "1.0", "commit": "704b99f10a72cc05d370cfeb294ff83412a8ab55" },
@@ -51,7 +52,7 @@
"oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" }, "oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" },
"one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" }, "one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" },
"onedark.nvim": { "branch": "master", "commit": "df4792accde9db0043121f32628bcf8e645d9aea" }, "onedark.nvim": { "branch": "master", "commit": "df4792accde9db0043121f32628bcf8e645d9aea" },
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" }, "pathlib.nvim": { "branch": "main", "commit": "a0d3dbbe00ce6a546426b1aed3838a82fe6bfc42" },
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" }, "plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
"range-highlight.nvim": { "branch": "master", "commit": "097103da6550c2a34c029971c3d7da63d3fef320" }, "range-highlight.nvim": { "branch": "master", "commit": "097103da6550c2a34c029971c3d7da63d3fef320" },
"rose-pine": { "branch": "main", "commit": "ff483051a47e27d84bdef47703538df1ed9f4a47" }, "rose-pine": { "branch": "main", "commit": "ff483051a47e27d84bdef47703538df1ed9f4a47" },
@@ -68,6 +69,6 @@
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
"vim-teal": { "branch": "master", "commit": "a416397cf7aad7b03ef53fd3d9847fd764bcbfee" }, "vim-teal": { "branch": "master", "commit": "a416397cf7aad7b03ef53fd3d9847fd764bcbfee" },
"vlime": { "branch": "master", "commit": "e276e9a6f37d2699a3caa63be19314f5a19a1481" }, "vlime": { "branch": "master", "commit": "e276e9a6f37d2699a3caa63be19314f5a19a1481" },
"vscode.nvim": { "branch": "main", "commit": "aa1102a7e15195c9cca22730b09224a7f7745ba8" }, "vscode.nvim": { "branch": "main", "commit": "6439ed89d0e10193f07e92268a321d7c6f6e93ee" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
} }

View File

@@ -12,6 +12,7 @@ setnx('<leader>b', Snacks.picker.buffers, 'List buffers')
setnx('<leader>h', Snacks.picker.help, 'Search help') setnx('<leader>h', Snacks.picker.help, 'Search help')
setnx('<leader>P', '<CMD>Markview splitToggle<CR>', 'Open markview preview') setnx('<leader>P', '<CMD>Markview splitToggle<CR>', 'Open markview preview')
setnx('<leader>z', Snacks.zen.zen, 'Toggle snacks zen mode') setnx('<leader>z', Snacks.zen.zen, 'Toggle snacks zen mode')
setnx('<leader>d', '<CMD>AnyJump<CR>', 'AnyJump jump to definition')
local setto = function(key, command, desc) local setto = function(key, command, desc)
set({ 'x', 'o' }, key, command, { desc = desc }) set({ 'x', 'o' }, key, command, { desc = desc })

View File

@@ -64,25 +64,8 @@ vim.g.netrw_keepdir = 0
vim.g.netrw_preview = 1 vim.g.netrw_preview = 1
vim.g.netrw_alto = 0 vim.g.netrw_alto = 0
vim.opt.exrc = true
vim.ui.select = Snacks.picker.select vim.ui.select = Snacks.picker.select
-- vim.cmd('colorscheme carbonfox') -- vim.cmd('colorscheme carbonfox')
vim.lsp.config('lua_ls', {
settings = {
Lua = {
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
maxPreload = 100000,
preloadFileSize = 100000,
}
}
}
})
vim.lsp.config('tinymist', {
settings = {
exportPdf = "onType",
}
})
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = true})

View File

@@ -151,11 +151,11 @@ return {
-- refer to the configuration section below -- refer to the configuration section below
set_dark_mode = function() set_dark_mode = function()
vim.api.nvim_set_option_value("background", "dark", {}) vim.api.nvim_set_option_value("background", "dark", {})
vim.cmd('colorscheme carbonfox') vim.cmd('colorscheme rose-pine-main')
end, end,
set_light_mode = function() set_light_mode = function()
vim.api.nvim_set_option_value("background", "light", {}) vim.api.nvim_set_option_value("background", "light", {})
vim.cmd('colorscheme dawnfox') vim.cmd('colorscheme rose-pine-dawn')
end, end,
}, },
}, },

View File

@@ -34,22 +34,22 @@ return {
ft = 'puml', ft = 'puml',
}, },
{ -- {
"S1M0N38/love2d.nvim", -- "S1M0N38/love2d.nvim",
-- event = "VeryLazy", -- -- event = "VeryLazy",
ft = 'lua', -- ft = 'lua',
version = "2.*", -- version = "2.*",
opts = { }, -- opts = { },
}, -- },
--
{ -- {
"nvim-neorg/neorg", -- "nvim-neorg/neorg",
-- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default -- -- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
ft = 'norg', -- ft = 'norg',
version = "*", -- Pin Neorg to the latest stable release -- version = "*", -- Pin Neorg to the latest stable release
config = true, -- config = true,
}, -- },
--
-- { -- {
-- "Olical/conjure" -- "Olical/conjure"
-- }, -- },

View File

@@ -12,6 +12,13 @@ return {
-- this is equivalent to setup({}) function -- this is equivalent to setup({}) function
}, },
{
'pechorin/any-jump.vim',
config = function()
vim.g.any_jump_search_prefered_engine = 'ag'
end,
},
{ {
"NeogitOrg/neogit", "NeogitOrg/neogit",
lazy = true, lazy = true,
@@ -66,6 +73,19 @@ return {
end end
}, },
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
---@module "ibl"
---@type ibl.config
opts = {
scope = {
show_start = false,
show_end = false,
},
},
},
{ {
"folke/snacks.nvim", "folke/snacks.nvim",
priority = 1000, priority = 1000,
@@ -105,7 +125,7 @@ return {
image = { image = {
enabled = true enabled = true
}, },
indent = { enabled = true }, indent = { enabled = false },
input = { enabled = true }, input = { enabled = true },
lazygit = { enabled = false }, lazygit = { enabled = false },
picker = { picker = {
@@ -177,6 +197,10 @@ return {
---@module 'oil' ---@module 'oil'
---@type oil.SetupOpts ---@type oil.SetupOpts
opts = { opts = {
win_options = {
winbar = "%#@attribute.builtin#%{substitute(v:lua.require('oil').get_current_dir(), '^' . $HOME, '~', '')}",
},
triggers = { triggers = {
{ 'g', mode = { 'n', 'x' } }, { 'g', mode = { 'n', 'x' } },
}, },
@@ -238,98 +262,98 @@ return {
event = 'VeryLazy', event = 'VeryLazy',
}, },
{ -- {
"jake-stewart/multicursor.nvim", -- "jake-stewart/multicursor.nvim",
branch = "1.0", -- branch = "1.0",
config = function() -- config = function()
local mc = require("multicursor-nvim") -- local mc = require("multicursor-nvim")
mc.setup() -- mc.setup()
--
local set = vim.keymap.set -- local set = vim.keymap.set
--
-- Add or skip cursor above/below the main cursor. -- -- Add or skip cursor above/below the main cursor.
set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" }) -- set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" }) -- set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" }) -- set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" }) -- set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" }) -- set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" }) -- set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
--
-- Add or skip adding a new cursor by matching word/selection -- -- Add or skip adding a new cursor by matching word/selection
set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" }) -- set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" }) -- set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" }) -- set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" }) -- set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
--
set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" }) -- set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
set("n", "<localleader>s", function() -- set("n", "<localleader>s", function()
vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end) -- vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
end, { desc = "Add cursors to regex match inside text object " }) -- end, { desc = "Add cursors to regex match inside text object " })
set("n", "<localleader>*", function() -- set("n", "<localleader>*", function()
mc.operator({pattern = vim.fn.expand("<cword>")}) -- mc.operator({pattern = vim.fn.expand("<cword>")})
end, { desc = "Add cursors to current word inside text object" }) -- end, { desc = "Add cursors to current word inside text object" })
set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" }) -- set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
--
-- Add cursor at next argument treesitter -- -- Add cursor at next argument treesitter
set({'n', 'x'}, ']A', function() -- set({'n', 'x'}, ']A', function()
if vim.v.count < 1 then -- if vim.v.count < 1 then
mc.addCursor(']p') -- mc.addCursor(']p')
else -- else
for _=1, vim.v.count - 1 do -- for _=1, vim.v.count - 1 do
mc.addCursor(']p') -- mc.addCursor(']p')
end -- end
end -- end
end, { desc = 'Create multicursor on next argument'}) -- end, { desc = 'Create multicursor on next argument'})
set({'n', 'x'}, '[A', function() -- set({'n', 'x'}, '[A', function()
if vim.v.count < 1 then -- if vim.v.count < 1 then
mc.addCursor('[p') -- mc.addCursor('[p')
else -- else
for _=1, vim.v.count - 1 do -- for _=1, vim.v.count - 1 do
mc.addCursor('[p') -- mc.addCursor('[p')
end -- end
end -- end
end, { desc = 'Create multicursor on previous argument'}) -- end, { desc = 'Create multicursor on previous argument'})
--
-- Add and remove cursors with control + left click. -- -- Add and remove cursors with control + left click.
set("n", "<c-leftmouse>", mc.handleMouse) -- set("n", "<c-leftmouse>", mc.handleMouse)
set("n", "<c-leftdrag>", mc.handleMouseDrag) -- set("n", "<c-leftdrag>", mc.handleMouseDrag)
set("n", "<c-leftrelease>", mc.handleMouseRelease) -- set("n", "<c-leftrelease>", mc.handleMouseRelease)
--
-- Disable and enable cursors. -- -- Disable and enable cursors.
set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" }) -- set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
--
-- Mappings defined in a keymap layer only apply when there are -- -- Mappings defined in a keymap layer only apply when there are
-- multiple cursors. This lets you have overlapping mappings. -- -- multiple cursors. This lets you have overlapping mappings.
mc.addKeymapLayer(function(layerSet) -- mc.addKeymapLayer(function(layerSet)
--
-- Select a different cursor as the main one. -- -- Select a different cursor as the main one.
layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" }) -- layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" }) -- layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" }) -- layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" }) -- layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
--
-- Delete the main cursor. -- -- Delete the main cursor.
layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor) -- layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
--
-- Enable and clear cursors using escape. -- -- Enable and clear cursors using escape.
layerSet("n", "<esc>", function() -- layerSet("n", "<esc>", function()
if not mc.cursorsEnabled() then -- if not mc.cursorsEnabled() then
mc.enableCursors() -- mc.enableCursors()
else -- else
mc.clearCursors() -- mc.clearCursors()
end -- end
end) -- end)
end) -- end)
--
-- Customize how cursors look. -- -- Customize how cursors look.
local hl = vim.api.nvim_set_hl -- local hl = vim.api.nvim_set_hl
hl(0, "MultiCursorCursor", { reverse = true }) -- hl(0, "MultiCursorCursor", { reverse = true })
hl(0, "MultiCursorVisual", { link = "Visual" }) -- hl(0, "MultiCursorVisual", { link = "Visual" })
hl(0, "MultiCursorSign", { link = "SignColumn"}) -- hl(0, "MultiCursorSign", { link = "SignColumn"})
hl(0, "MultiCursorMatchPreview", { link = "Search" }) -- hl(0, "MultiCursorMatchPreview", { link = "Search" })
hl(0, "MultiCursorDisabledCursor", { reverse = true }) -- hl(0, "MultiCursorDisabledCursor", { reverse = true })
hl(0, "MultiCursorDisabledVisual", { link = "Visual" }) -- hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
hl(0, "MultiCursorDisabledSign", { link = "SignColumn"}) -- hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
end -- end
}, -- },
} }

View File

@@ -18,17 +18,27 @@
;; Description ;; Description
;; ;;
;;; Code: ;;; Code:
(setq url-proxy-services '(("no_proxy" . "localhost")
("http" . "proxygov.ray.com:80")
("https" . "proxygov.ray.com:80")))
;; (require 'misc)
(setopt treesit-enabled-modes t)
(set-face-attribute 'default nil (set-face-attribute 'default nil
:width 'normal :weight 'normal :width 'normal :weight 'normal
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18)) :slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20))
(set-face-attribute 'fixed-pitch nil (set-face-attribute 'fixed-pitch nil
:width 'normal :weight 'normal :width 'normal :weight 'normal
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18)) :slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20))
(set-face-attribute 'variable-pitch nil ;; (set-face-attribute 'variable-pitch nil
:width 'normal :weight 'normal ;; :width 'normal :weight 'normal
:slant 'normal :font (font-spec :family "Gentium Plus" :size 18)) ;; :slant 'normal :font (font-spec :family "Gentium Plus" :size 18))
(defconst default-mode-line-format (copy-sequence mode-line-format)) (defconst default-mode-line-format (copy-sequence mode-line-format))
(setq dired-kill-when-opening-new-dired-buffer t)
(setq gdb-show-main t
gdb-many-windows t)
(setq elfeed-use-curl nil)
(setq use-short-answers t)
(setq compilation-scroll-output t)
(setq history-length 100 (setq history-length 100
global-auto-revert-non-file-buffers t global-auto-revert-non-file-buffers t
use-dialog-box nil use-dialog-box nil
@@ -59,6 +69,8 @@
(lambda () (electric-indent-mode 1))) (lambda () (electric-indent-mode 1)))
(global-electric-pair-mode) (global-electric-pair-mode)
(global-electric-indent-mode) (global-electric-indent-mode)
;; (treesit-auto-install-grammar 'ask)
;; (treesit-enabled-modes t)
;; (enable-recursive-minibuffers t) ;; (enable-recursive-minibuffers t)
;; (read-extended-command-predicate #'command-completion-default-include-p) ;; (read-extended-command-predicate #'command-completion-default-include-p)

View File

@@ -1,5 +1,7 @@
;;; -*- lexical-binding: t; -*- ;;; -*- lexical-binding: t; -*-
;; (global-set-key (kbd "M-f") #'forward-to-word)
;; (global-set-key (kbd "M-F") #'forward-word)
(global-set-key (kbd "C-c f") #'consult-fd) (global-set-key (kbd "C-c f") #'consult-fd)
(global-set-key (kbd "C-c C-f") #'find-file-at-point) (global-set-key (kbd "C-c C-f") #'find-file-at-point)
(global-set-key (kbd "C-c r") #'recentf) (global-set-key (kbd "C-c r") #'recentf)

View File

@@ -32,6 +32,12 @@
(add-hook 'eshell-load-hook #'eat-eshell-mode) (add-hook 'eshell-load-hook #'eat-eshell-mode)
(use-package vterm
:ensure t)
(use-package devdocs
:ensure t)
(use-package magit (use-package magit
:ensure t :ensure t
:defer t) :defer t)
@@ -152,6 +158,10 @@
(mpdel/run-context-hooks 'enter-hooks mpdel/current-context)))) (mpdel/run-context-hooks 'enter-hooks mpdel/current-context))))
(use-package org (use-package org
:ensure t
:defer t)
(use-package org-msg
:ensure t :ensure t
:defer t :defer t
:config :config
@@ -162,183 +172,183 @@
'((emacs-lisp . t)))) '((emacs-lisp . t))))
(use-package org-msg ;; (use-package org-msg
:ensure t ;; :ensure t
:defer t ;; :defer t
:hook ((mu4e-main-mode . org-msg-mode) ;; :hook ((mu4e-main-mode . org-msg-mode)
(mu4e-compose-mode . org-msg-mode)) ;; (mu4e-compose-mode . org-msg-mode))
:config ;; :config
(setq mail-user-agent 'mu4e-user-agent) ;; (setq mail-user-agent 'mu4e-user-agent)
(setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t" ;; (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t"
org-msg-startup "hidestars indent inlineimages" ;; org-msg-startup "hidestars indent inlineimages"
org-msg-default-alternatives '((new . (text html)) ;; org-msg-default-alternatives '((new . (text html))
(reply-to-html . (text html)) ;; (reply-to-html . (text html))
(reply-to-text . (text))) ;; (reply-to-text . (text)))
org-msg-convert-citation t)) ;; org-msg-convert-citation t))
(use-package mu4e ;; (use-package mu4e
:ensure t ;; :ensure t
:commands (mu4e) ;; :commands (mu4e)
:config ;; :config
(setq mu4e-mu-binary (executable-find "mu")) ;; (setq mu4e-mu-binary (executable-find "mu"))
(setq mu4e-read-option-use-builtin nil ;; (setq mu4e-read-option-use-builtin nil
mu4e-completing-read-function 'completing-read) ;; mu4e-completing-read-function 'completing-read)
;; this is the directory we created before: ;; ;; this is the directory we created before:
(setq mu4e-maildir "~/.local/share/mail/") ;; (setq mu4e-maildir "~/.local/share/mail/")
;; this command is called to sync imap servers: ;; ;; this command is called to sync imap servers:
(setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a")) ;; (setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
;; how often to call it in seconds: ;; ;; how often to call it in seconds:
(setq mu4e-update-interval 300) ;; (setq mu4e-update-interval 300)
;; save attachment to desktop by default ;; ;; save attachment to desktop by default
;; or another choice of yours: ;; ;; or another choice of yours:
(setq mu4e-attachment-dir "~/Downloads") ;; (setq mu4e-attachment-dir "~/Downloads")
;; rename files when moving - needed for mbsync: ;; ;; rename files when moving - needed for mbsync:
(setq mu4e-change-filenames-when-moving t) ;; (setq mu4e-change-filenames-when-moving t)
;; list of your email adresses: ;; ;; list of your email adresses:
(setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com" ;; (setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com"
"chalupmc@rose-hulman.edu" ;; "chalupmc@rose-hulman.edu"
"mikec@mchalupiak.com" ;; "mikec@mchalupiak.com"
"spamreciver1@outlook.com")) ;; "spamreciver1@outlook.com"))
; the following is to show shortcuts in the main view. ;; ; the following is to show shortcuts in the main view.
(setq mu4e-bookmarks ()) ;; (setq mu4e-bookmarks ())
(add-to-list 'mu4e-bookmarks ;; (add-to-list 'mu4e-bookmarks
'(:name "spamreciver" ;; '(:name "spamreciver"
:query "maildir:/spamreciver1@outlook.com/INBOX" ;; :query "maildir:/spamreciver1@outlook.com/INBOX"
:key ?s)) ;; :key ?s))
(add-to-list 'mu4e-bookmarks ;; (add-to-list 'mu4e-bookmarks
'(:name "mchalupiak.com" ;; '(:name "mchalupiak.com"
:query "maildir:/mikec@mchalupiak.com/INBOX" ;; :query "maildir:/mikec@mchalupiak.com/INBOX"
:key ?h)) ;; :key ?h))
(add-to-list 'mu4e-bookmarks ;; (add-to-list 'mu4e-bookmarks
'(:name "rose" ;; '(:name "rose"
:query "maildir:/chalupmc@rose-hulman.edu/INBOX" ;; :query "maildir:/chalupmc@rose-hulman.edu/INBOX"
:key ?r)) ;; :key ?r))
(add-to-list 'mu4e-bookmarks ;; (add-to-list 'mu4e-bookmarks
'(:name "outlook" ;; '(:name "outlook"
:query "maildir:/mikecchalupiak@outlook.com/INBOX" ;; :query "maildir:/mikecchalupiak@outlook.com/INBOX"
:key ?o)) ;; :key ?o))
(setq mu4e-contexts ;; (setq mu4e-contexts
`(,(make-mu4e-context ;; `(,(make-mu4e-context
:name "outlook" ;; :name "outlook"
:match-func ;; :match-func
(lambda (msg) ;; (lambda (msg)
(when msg ;; (when msg
(mu4e-message-contact-field-matches msg ;; (mu4e-message-contact-field-matches msg
:to "mikecchalupiak@outlook.com"))) ;; :to "mikecchalupiak@outlook.com")))
:vars '((user-mail-address . "mikecchalupiak@outlook.com") ;; :vars '((user-mail-address . "mikecchalupiak@outlook.com")
(user-full-name . "Michael Chalupiak") ;; (user-full-name . "Michael Chalupiak")
(mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts") ;; (mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts")
(mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive") ;; (mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive")
(mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent") ;; (mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent")
(mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash"))) ;; (mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash")))
,(make-mu4e-context ;; ,(make-mu4e-context
:name "rose" ;; :name "rose"
:match-func ;; :match-func
(lambda (msg) ;; (lambda (msg)
(when msg ;; (when msg
(mu4e-message-contact-field-matches msg ;; (mu4e-message-contact-field-matches msg
:to "chalupmc@rose-hulman.edu"))) ;; :to "chalupmc@rose-hulman.edu")))
:vars '((user-mail-address . "chalupmc@rose-hulman.edu") ;; :vars '((user-mail-address . "chalupmc@rose-hulman.edu")
(user-full-name . "Michael Chalupiak") ;; (user-full-name . "Michael Chalupiak")
(mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts") ;; (mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts")
(mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive") ;; (mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive")
(mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent") ;; (mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent")
(mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash"))) ;; (mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash")))
,(make-mu4e-context ;; ,(make-mu4e-context
:name "hosted" ;; :name "hosted"
:match-func ;; :match-func
(lambda (msg) ;; (lambda (msg)
(when msg ;; (when msg
(mu4e-message-contact-field-matches msg ;; (mu4e-message-contact-field-matches msg
:to "mikec@mchalupiak.com"))) ;; :to "mikec@mchalupiak.com")))
:vars '((user-mail-address . "mikec@mchalupiak.com") ;; :vars '((user-mail-address . "mikec@mchalupiak.com")
(user-full-name . "Michael Chalupiak") ;; (user-full-name . "Michael Chalupiak")
;; check your ~/.maildir to see how the subdirectories are called ;; ;; check your ~/.maildir to see how the subdirectories are called
;; e.g `ls ~/.maildir/example' ;; ;; e.g `ls ~/.maildir/example'
(mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts") ;; (mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts")
(mu4e-refile-folder . "/mikec@mchalupiak.com/Archive") ;; (mu4e-refile-folder . "/mikec@mchalupiak.com/Archive")
(mu4e-sent-folder . "/mikec@mchalupiak.com/Sent") ;; (mu4e-sent-folder . "/mikec@mchalupiak.com/Sent")
(mu4e-trash-folder . "/mikec@mchalupiak.com/Trash"))) ;; (mu4e-trash-folder . "/mikec@mchalupiak.com/Trash")))
,(make-mu4e-context ;; ,(make-mu4e-context
:name "spam" ;; :name "spam"
:match-func ;; :match-func
(lambda (msg) ;; (lambda (msg)
(when msg ;; (when msg
(mu4e-message-contact-field-matches msg ;; (mu4e-message-contact-field-matches msg
:to "spamreciver1@outlook.com"))) ;; :to "spamreciver1@outlook.com")))
:vars '((user-mail-address . "spamreciver1@outlook.com") ;; :vars '((user-mail-address . "spamreciver1@outlook.com")
(user-full-name . "spamreciver") ;; (user-full-name . "spamreciver")
;; check your ~/.maildir to see how the subdirectories are called ;; ;; check your ~/.maildir to see how the subdirectories are called
;; e.g `ls ~/.maildir/example' ;; ;; e.g `ls ~/.maildir/example'
(mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts") ;; (mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts")
(mu4e-refile-folder . "/spamreciver1@outlook.com/Archive") ;; (mu4e-refile-folder . "/spamreciver1@outlook.com/Archive")
(mu4e-sent-folder . "/spamreciver1@outlook.com/Sent") ;; (mu4e-sent-folder . "/spamreciver1@outlook.com/Sent")
(mu4e-trash-folder . "/spamreciver1@outlook.com/Trash"))))) ;; (mu4e-trash-folder . "/spamreciver1@outlook.com/Trash")))))
(setq mu4e-context-policy 'pick-first) ;; start with the first (default) context; ;; (setq mu4e-context-policy 'pick-first) ;; start with the first (default) context;
(setq mu4e-compose-context-policy 'ask) ;; (setq mu4e-compose-context-policy 'ask)
; gpg encryptiom & decryption: ;; ; gpg encryptiom & decryption:
;; this can be left alone ;; ;; this can be left alone
(require 'epa-file) ;; (require 'epa-file)
(epa-file-enable) ;; (epa-file-enable)
(setq epa-pinentry-mode 'loopback) ;; (setq epa-pinentry-mode 'loopback)
(auth-source-forget-all-cached) ;; (auth-source-forget-all-cached)
;; don't keep message compose buffers around after sending: ;; ;; don't keep message compose buffers around after sending:
(setq message-kill-buffer-on-exit t) ;; (setq message-kill-buffer-on-exit t)
;; send function: ;; ;; send function:
(setq send-mail-function 'message-send-mail-with-sendmail ;; (setq send-mail-function 'message-send-mail-with-sendmail
message-send-mail-function 'message-send-mail-with-sendmail) ;; message-send-mail-function 'message-send-mail-with-sendmail)
;; send program: ;; ;; send program:
;; this is exeranal. remember we installed it before. ;; ;; this is exeranal. remember we installed it before.
(setq sendmail-program (executable-find "msmtp")) ;; (setq sendmail-program (executable-find "msmtp"))
;; select the right sender email from the context. ;; ;; select the right sender email from the context.
(setq message-sendmail-envelope-from 'header) ;; (setq message-sendmail-envelope-from 'header)
;; chose from account before sending ;; ;; chose from account before sending
;; this is a custom function that works for me. ;; ;; this is a custom function that works for me.
;; well I stole it somewhere long ago. ;; ;; well I stole it somewhere long ago.
;; I suggest using it to make matters easy ;; ;; I suggest using it to make matters easy
;; of course adjust the email adresses and account descriptions ;; ;; of course adjust the email adresses and account descriptions
(defun timu/set-msmtp-account () ;; (defun timu/set-msmtp-account ()
(if (message-mail-p) ;; (if (message-mail-p)
(save-excursion ;; (save-excursion
(let* ;; (let*
((from (save-restriction ;; ((from (save-restriction
(message-narrow-to-headers) ;; (message-narrow-to-headers)
(message-fetch-field "from"))) ;; (message-fetch-field "from")))
(account ;; (account
(cond ;; (cond
((string-match "mikecchalupiak@outlook.com" from) "outlook") ;; ((string-match "mikecchalupiak@outlook.com" from) "outlook")
((string-match "chalupmc@rose-hulman.edu" from) "rose") ;; ((string-match "chalupmc@rose-hulman.edu" from) "rose")
((string-match "mikec@mchalupiak.com" from) "hosted") ;; ((string-match "mikec@mchalupiak.com" from) "hosted")
((string-match "spamreciver1@outlook.com" from) "spam")))) ;; ((string-match "spamreciver1@outlook.com" from) "spam"))))
(setq message-sendmail-extra-arguments (list '"-a" account))))) ;; (setq message-sendmail-extra-arguments (list '"-a" account)))))
(add-hook 'message-send-mail-hook 'timu/set-msmtp-account) ;; (add-hook 'message-send-mail-hook 'timu/set-msmtp-account)
;; mu4e cc & bcc ;; ;; mu4e cc & bcc
;; this is custom as well ;; ;; this is custom as well
(add-hook 'mu4e-compose-mode-hook ;; (add-hook 'mu4e-compose-mode-hook
(defun timu/add-cc-and-bcc () ;; (defun timu/add-cc-and-bcc ()
"My Function to automatically add Cc & Bcc: headers. ;; "My Function to automatically add Cc & Bcc: headers.
This is in the mu4e compose mode." ;; This is in the mu4e compose mode."
(save-excursion (message-add-header "Cc:\n")) ;; (save-excursion (message-add-header "Cc:\n"))
(save-excursion (message-add-header "Bcc:\n")))))) ;; (save-excursion (message-add-header "Bcc:\n"))))))
;; ask for context if no context matches;))) ;; ;; ask for context if no context matches;)))
(use-package elfeed (use-package elfeed
:ensure t :ensure t
@@ -373,6 +383,7 @@
'( ("https://phaazon.net/blog/feed") '( ("https://phaazon.net/blog/feed")
("https://irreal.org/blog/?feed=rss2") ("https://irreal.org/blog/?feed=rss2")
("https://port19.xyz/rss.xml") ("https://port19.xyz/rss.xml")
("https://www.gingerbill.org/article/index.xml")
("https://lukesmith.xyz/index.xml") ("https://lukesmith.xyz/index.xml")
("https://notrelated.xyz/rss") ("https://notrelated.xyz/rss")
("https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml") ("https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml")
@@ -380,11 +391,11 @@
("https://danielde.dev/rss.xml") ("https://danielde.dev/rss.xml")
("https://pkolaczk.github.io/feed.xml") ("https://pkolaczk.github.io/feed.xml")
("https://joeyh.name/blog/index.rss") ("https://joeyh.name/blog/index.rss")
("https://kagifeedback.org/atom/t/release-notes") ("https://kagifeedback.org/atom/t/release-notes")))
("https://api.substack.com/feed/podcast/462466.rss") ;; ("https://api.substack.com/feed/podcast/462466.rss")
("https://www.dailywire.com/feeds/rss.xml") ;; ("https://www.dailywire.com/feeds/rss.xml")
("https://feeds.simplecast.com/6c2VScgo") ;; ("https://feeds.simplecast.com/6c2VScgo")
("https://feeds.simplecast.com/pp_b9xO6"))) ;; ("https://feeds.simplecast.com/pp_b9xO6")))
(defun elfeed/show-eww-open (&optional use-generic-p) (defun elfeed/show-eww-open (&optional use-generic-p)
"open with eww" "open with eww"
(interactive "P") (interactive "P")

View File

@@ -19,14 +19,14 @@
;; ;;
;;; Code: ;;; Code:
(use-package treesit-auto ;; (use-package treesit-auto
:ensure t ;; :ensure t
;; :defer t ;; ;; :defer t
:custom ;; :custom
(treesit-auto-install t) ;; (treesit-auto-install t)
:config ;; :config
(treesit-auto-add-to-auto-mode-alist 'all) ;; (treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode)) ;; (global-treesit-auto-mode))
;; (use-package gitconfig-mode ;; (use-package gitconfig-mode
;; :ensure t ;; :ensure t
@@ -89,7 +89,9 @@
(add-to-list 'auto-mode-alist '("\\.odin\\'" . odin-ts-mode)) (add-to-list 'auto-mode-alist '("\\.odin\\'" . odin-ts-mode))
(add-to-list 'auto-mode-alist '("\\.zig\\(?:\\.zon\\)?\\'" . zig-ts-mode)) (add-to-list 'auto-mode-alist '("\\.zig\\(?:\\.zon\\)?\\'" . zig-ts-mode))
(defvar treesit-language-source-alist '()) ;; (straight-use-package '(tree-sitter-langs :type git :host github
;; :repo "emacs-tree-sitter/tree-sitter-langs"))
;; (defvar treesit-language-source-alist '())
(add-to-list 'treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin")) (add-to-list 'treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin"))
(add-to-list 'treesit-language-source-alist '(zig "https://github.com/tree-sitter-grammars/tree-sitter-zig")) (add-to-list 'treesit-language-source-alist '(zig "https://github.com/tree-sitter-grammars/tree-sitter-zig"))
(add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go")) (add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go"))

View File

@@ -329,10 +329,12 @@
;; Don't highlight current level indentation; it's distracting and is ;; Don't highlight current level indentation; it's distracting and is
;; unnecessary overhead for little benefit. ;; unnecessary overhead for little benefit.
indent-bars-highlight-current-depth nil) indent-bars-highlight-current-depth nil)
(add-hook 'prog-mode-hook #'indent-bars-mode 50)
(add-hook 'text-mode-hook #'indent-bars-mode 50)
:custom :custom
(indent-bars-no-descend-lists t) ; no extra bars in continued func arg lists (indent-bars-no-descend-lists t) ; no extra bars in continued func arg lists
(indent-bars-treesit-support t) (indent-bars-treesit-support t)
(indent-bars-treesit-ignore-blank-lines-types '("module")) (indent-bars-treesit-ignore-blank-lines-types '("module")))
;; Add other languages as needed ;; Add other languages as needed
;; (indent-bars-treesit-scope '((python function_definition class_definition for_statement ;; (indent-bars-treesit-scope '((python function_definition class_definition for_statement
;; if_statement with_statement while_statement))) ;; if_statement with_statement while_statement)))
@@ -341,7 +343,7 @@
;; list list_comprehension ;; list list_comprehension
;; dictionary dictionary_comprehension ;; dictionary dictionary_comprehension
;; parenthesized_expression subscript))) ;; parenthesized_expression subscript)))
:hook ((prog-mode text-mode) . indent-bars-mode))
(use-package dashboard (use-package dashboard
:ensure t :ensure t

View File

@@ -19,19 +19,31 @@
;; ;;
;;; Code: ;;; Code:
(use-package surround (use-package system-packages
:ensure t
:defer t
:bind-keymap ("M-'" . surround-keymap))
(use-package noccur
:ensure t) :ensure t)
(use-package exec-path-from-shell
:ensure t
:config
(defun copy-ssh-agent ()
"copy env variables for ssh agent"
(interactive)
(exec-path-from-shell-copy-env "SSH_AGENT_PID")
(exec-path-from-shell-copy-env "SSH_AUTH_SOCK"))
(copy-ssh-agent))
(use-package dumb-jump (use-package dumb-jump
:ensure t :ensure t
:config :config
(setq dumb-jump-prefer-searcher 'ag)
(setq xref-show-definitions-function #'consult-xref)
(add-hook 'xref-backend-functions #'dumb-jump-xref-activate)) (add-hook 'xref-backend-functions #'dumb-jump-xref-activate))
(use-package surround
:ensure t
:defer t
:bind-keymap ("M-'" . surround-keymap))
(use-package expand-region (use-package expand-region
:ensure t :ensure t
:bind (("C-= =" . er/expand-region) :bind (("C-= =" . er/expand-region)
@@ -67,7 +79,8 @@
:ensure t :ensure t
:defer 5 :defer 5
:config :config
(dtrt-indent-global-mode 1)) (add-hook 'prog-mode-hook #'dtrt-indent-mode)
(add-hook 'text-mode-hook #'dtrt-indent-mode))
(use-package undo-fu (use-package undo-fu
:ensure t :ensure t

View File

@@ -10,7 +10,7 @@ set -ga terminal-overrides ",xterm-256color:Tc"
set -g mouse on set -g mouse on
# Changes prefix key to control a instead of control b # Changes prefix key to control a instead of control b
unbind C-b unbind C-b
set-option -g prefix C-a set-option -g prefix C-Space
set -sg escape-time 25 set -sg escape-time 25
setw -g mode-keys vi setw -g mode-keys vi
bind b choose-tree bind b choose-tree
@@ -19,12 +19,15 @@ bind-key h select-pane -L
bind-key j select-pane -D bind-key j select-pane -D
bind-key k select-pane -U bind-key k select-pane -U
bind-key l select-pane -R bind-key l select-pane -R
bind-key a last-window
set -g status-style "bg=default" set -g status-style "bg=default"
set -g status-position top set -g status-position top
set -g window-status-current-style "fg=yellow" set -g window-status-current-style "fg=yellow"
set -g window-status-style "fg=magenta" set -g window-status-style "fg=magenta"
set -g base-index 1 set -g base-index 1
set-option -g lock-after-time 0
# Other examples: # Other examples:
# set -g @plugin 'github_username/plugin_name' # set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com:user/plugin' # set -g @plugin 'git@github.com:user/plugin'
@@ -32,8 +35,9 @@ set -g base-index 1
# 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'
#run-shell "tmux source-file ~/.local/share/tinted-theming/tinty/repos/tinted-tmux/colors/base16-$BASE16_THEME.conf" #run-shell "tmux source-file ~/.local/share/tinted-theming/tinty/repos/tinted-tmux/colors/base16-$BASE16_THEME.conf"
#
set -g prefix None # set -g prefix None
bind -Troot C-a switchc -Tprefix # bind -Troot C-Space switchc -Tprefix
bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table' # bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table'
bind -Tempty C-x switchc -Tprefix # bind -Tempty C-x switchc -Tprefix
set -g set-clipboard on

View File

@@ -6,13 +6,18 @@ config.font = wezterm.font_with_fallback {
'Cascadia Code' 'Cascadia Code'
} }
-- local appearance_themes = {
-- Light = 'dawnfox',
-- Dark = 'carbonfox',
-- }
local appearance_themes = { local appearance_themes = {
Light = 'dawnfox', Light = 'rose-pine-dawn',
Dark = 'carbonfox', Dark = 'rose-pine',
} }
local appearance = wezterm.gui.get_appearance() local appearance = wezterm.gui.get_appearance()
config.color_scheme = appearance_themes[appearance] or 'carbonfox' config.color_scheme = appearance_themes[appearance] or 'rose-pine'
config.font_size = 14 config.font_size = 14
config.enable_tab_bar = true config.enable_tab_bar = true
config.use_fancy_tab_bar = false config.use_fancy_tab_bar = false

View File

@@ -2,7 +2,7 @@ xrdb -merge ~/.Xresources
# /home/mikec/.scripts/startup.sh # /home/mikec/.scripts/startup.sh
# exec awesome # exec awesome
# exec dwm # exec dwm
# exec bspwm exec bspwm
# exec icewm # exec icewm
# exec mlvwm # exec mlvwm
exec spectrwm # exec spectrwm