Update something
This commit is contained in:
parent
e3c94cce54
commit
147ca5ddbc
81 changed files with 3055 additions and 326 deletions
9
.xonshrc
Normal file
9
.xonshrc
Normal file
|
@ -0,0 +1,9 @@
|
|||
# XONSH WEBCONFIG START
|
||||
$PROMPT = '{INTENSE_RED}{user}{RESET} at {INTENSE_PURPLE}{hostname}{RESET} in {BOLD_GREEN}{cwd}{RESET}\r\n↪ '
|
||||
|
||||
$PL_PROMPT='cwd>branch'
|
||||
$PL_RPROMPT = '!' # for no toolbar
|
||||
$PL_TOOLBAR = 'who>virtualenv>branch>cwd>full_proc'
|
||||
xontrib load powerline2
|
||||
# XONSH WEBCONFIG END
|
||||
|
385
.zshrc
Normal file
385
.zshrc
Normal file
|
@ -0,0 +1,385 @@
|
|||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
# if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
# source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
# fi
|
||||
|
||||
# Set name of the theme to load.
|
||||
# Look in ~/.oh-my-zsh/themes/
|
||||
# Optionally, if you set this to "random", it'll load a random theme each
|
||||
# time that oh-my-zsh is loaded.
|
||||
|
||||
|
||||
# setopt AUTO_NAME_DIRS
|
||||
# setopt CDABLE_VARS
|
||||
# TWBlog=/Volumes/Working\ Drive/Git_Repositories/TWBlog
|
||||
# checkyoself=/Volumes/Working\ Drive/Git_Repositories/checkyoself
|
||||
# checkyoself-docs=/Volumes/Working\ Drive/Git_Repositories/checkyoselfDocs
|
||||
# dev-research=/Volumes/Working\ Drive/Git_Repositories/devResearch
|
||||
# book-finder=/Volumes/Working\ Drive/Git_Repositories/bookFinder
|
||||
# portfolio-v6=/Volumes/Working\ Drive/Git_Repositories/portfoliov6
|
||||
# tiffany.blog=/Volumes/Working\ Drive/Git_Repositories/tiffanyBlog
|
||||
|
||||
# resume=/Volumes/Working\ Drive/Git_Repositories/resume
|
||||
|
||||
# Apps
|
||||
|
||||
|
||||
# Kill Chrome because it gets stuck sometimes
|
||||
|
||||
# Example aliases
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||
|
||||
# Set to this to use case-sensitive completion
|
||||
# CASE_SENSITIVE="true"
|
||||
|
||||
# Comment this out to disable weekly auto-update checks
|
||||
|
||||
# Uncomment following line if you want to disable colors in ls
|
||||
# DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment following line if you want to disable autosetting terminal title.
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment following line if you want red dots to be displayed while waiting for completion
|
||||
#COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
plugins=(git dirhistory brew dircycle gitfast git-extras jsontools node npm macos repo sudo urltools web-search dirpersist history-substring-search last-working-dir safe-paste yarn zsh-completions)
|
||||
|
||||
|
||||
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor)
|
||||
|
||||
# Declare the variable
|
||||
typeset -A ZSH_HIGHLIGHT_STYLES
|
||||
|
||||
# To differentiate aliases from other command types
|
||||
ZSH_HIGHLIGHT_STYLES[alias]='fg=cyan,bold'
|
||||
|
||||
# To have paths colored instead of underlined
|
||||
ZSH_HIGHLIGHT_STYLES[path]='fg=magenta'
|
||||
|
||||
ZSH_HIGHLIGHT_STYLES[cursor]='bg=pink'
|
||||
|
||||
# To define styles for nested brackets up to level 4
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=blue,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=red,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=yellow,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=magenta,bold'
|
||||
|
||||
ZSH_HIGHLIGHT_STYLES[root]='bg=red'
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Go Paths
|
||||
# ------------------------------------------------------------------
|
||||
# export PATH=$PATH:$(go env GOPATH)/bin
|
||||
# export GOPATH=$(go env GOPATH)
|
||||
# export $PATH=$PATH:$GOBIN
|
||||
# export GOROOT=/usr/local/go
|
||||
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Ruby Path fixes
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Git aliases
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
alias gaa='git add -A'
|
||||
alias gp='git push'
|
||||
alias gl='git log'
|
||||
alias gs='git status'
|
||||
alias gd='git diff'
|
||||
alias gmsg='git commit -m'
|
||||
alias gmsga='git commit -am'
|
||||
alias gb='git branch'
|
||||
alias gc='git checkout'
|
||||
alias gra='git remote add'
|
||||
alias grr='git remote rm'
|
||||
alias gdown='git pull'
|
||||
alias gcl='git clone'
|
||||
alias gta='git tag -a -m'
|
||||
alias gf='git reflog'
|
||||
alias gfa='git fetch --all'
|
||||
alias pushor="git push -u origin main"
|
||||
alias addup='git remote add upstream'
|
||||
alias gitup='git fetch upstream'
|
||||
alias chmain='git checkout main'
|
||||
alias merup='git merge upstream/main'
|
||||
alias gst='git stash'
|
||||
alias gitsta='git stash apply'
|
||||
alias ohshit='git revert --no commit'
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# OTHER aliases
|
||||
# -------------------------------------------------------------------
|
||||
# alias python=/usr/local/bin/python3
|
||||
alias cl='clear'
|
||||
alias bi= 'bundle install'
|
||||
alias npming='npm install -g'
|
||||
alias h='history'
|
||||
alias help='man'
|
||||
alias pyide='open -a /Applications/PyCharm.app'
|
||||
alias pych="PyCharm ."
|
||||
alias gol="GoLand ."
|
||||
alias rus="open -a /Applications/RustRover.app"
|
||||
alias lion="open -a /Applications/CLion.app"
|
||||
alias rubyide='open -a /Applications/RubyMine.app'
|
||||
alias goide='open -a /Applications/GoLand.app'
|
||||
alias code='open -a Visual\ Studio\ Code.app'
|
||||
alias gitk='open -a /Applications/GitKraken.app'
|
||||
alias brewi='brew install'
|
||||
alias brupg='brew upgrade'
|
||||
alias brupd='brew update'
|
||||
alias szsh='source ~/.zshrc'
|
||||
alias jopt='jpeg-recompress --accurate --quality medium --min 40'
|
||||
alias popt='pngcrush -brute'
|
||||
alias jeksthx='bundle exec jekyll serve --livereload --open-url --port 4001 --future --host 0.0.0.0 '
|
||||
alias jeksth='bundle exec jekyll serve --livereload --open-url --drafts --future'
|
||||
alias jeksd='bundle exec jekyll serve --livereload --open-url --drafts --future'
|
||||
alias jeksttt='bundle exec jekyll serve --livereload --open-url --port 4002 --drafts --future --host 0.0.0.0'
|
||||
alias jeksg='bundle exec jekyll serve --livereload --open-url --port 4003 --drafts --future --host 0.0.0.0'
|
||||
alias jeksp='bundle exec jekyll serve --livereload --open-url --port 4004 --drafts --future --host 0.0.0.0'
|
||||
alias jeksfit='bundle exec jekyll serve --livereload --open-url --port 3040 --drafts --future --host 0.0.0.0'
|
||||
alias jeksb='bundle exec jekyll serve --livereload --open-url --port 3030 --drafts --future --host 0.0.0.0'
|
||||
alias gitor='git remote add origin'
|
||||
alias pushit='git push -u origin master'
|
||||
alias free='git pull --rebase upstream master'
|
||||
alias bug='git pull upstream master'
|
||||
alias start='torus run bin/rails server'
|
||||
alias console='torus run bin/rails console'
|
||||
alias killpry='lsof -wni tcp:3000'
|
||||
alias git=hub
|
||||
alias pullup='git pull upstream master'
|
||||
alias lint='./node_modules/.bin/eslint --init'
|
||||
alias gac="ga . && gcmsg"
|
||||
alias gpo="gp && go"
|
||||
alias gundo="git undo"
|
||||
alias yo="yo"
|
||||
alias dewebpng='find . -name "*.webp" | xargs -I {} dwebp {} -o {}.png'
|
||||
alias dewebpgif='find . -name "*.webp" | xargs -I {} dwebp {} -o {}.gif'
|
||||
alias dewebpjpg='find . -name "*.webp" | xargs -I {} dwebp {} -o {}.jpg'
|
||||
alias mp3="youtube-dl -i --extract-audio --audio-format mp3 --audio-quality 0"
|
||||
alias mkv="youtube-dl --merge-output-format mkv"
|
||||
alias mp4="youtube-dl --merge-output-format mp4"
|
||||
alias mp3play="youtube-dl -ict --yes-playlist --extract-audio --audio-format mp3 --audio-quality 0 "
|
||||
alias tailscale="/Applications/Tailscale.app/Contents/MacOS/Tailscale"
|
||||
alias ls='colorls --dark --sort-dirs --report -A --gs'
|
||||
alias lc='colorls --dark --sort-dirs --report -A --gs --tree'
|
||||
alias jeksdoc="docker-compose up"
|
||||
|
||||
# exa file list
|
||||
alias la="exa --git --color=automatic -x"
|
||||
# `cat` with beautiful colors. requires: pip install -U Pygments
|
||||
alias c='pygmentize -O style=borland -f console256 -g'
|
||||
|
||||
alias wmyip='curl ip.appspot.com'
|
||||
# memHogsTop, memHogsPs: Find memory hogs
|
||||
# -----------------------------------------------------
|
||||
#alias memHogsTop='top -l 1 -o rsize | head -20'
|
||||
#alias memHogsPs='ps wwaxm -o pid,stat,vsize,rss,time,command | head -10'
|
||||
|
||||
# cpuHogs: Find CPU hogs
|
||||
# -----------------------------------------------------
|
||||
# Useful Aliases
|
||||
|
||||
alias l="exa -l"
|
||||
#alias copyssh="pbcopy < $HOME/.ssh/id_rsa.pub"
|
||||
alias alz="alias | fzf"
|
||||
|
||||
# alias tailscale="/Applications/Tailscale.app/Contents/MacOS/Tailscale"
|
||||
|
||||
########################
|
||||
# Terminalizer Aliases #
|
||||
########################
|
||||
|
||||
#alias trex='terminalizer record'
|
||||
#alias tconfig='terminalizer config'
|
||||
#alias tren='terminalizer render'
|
||||
#alias tplay='terminalizer play'
|
||||
#alias tgen='terminalizer generate'
|
||||
#alias tshare='terminalizer share'
|
||||
|
||||
#fpath=(/usr/local/share/zsh-completions $fpath)
|
||||
|
||||
########################
|
||||
# Useful Functions #
|
||||
########################
|
||||
|
||||
# Git sometimes goes into a detached head state. git_prompt_info doesn't
|
||||
# return anything in this case. So wrap it in another function and check
|
||||
# for an empty string.
|
||||
function check_git_prompt_info() {
|
||||
if git rev-parse --git-dir > /dev/null 2>&1; then
|
||||
if [[ -z $(git_prompt_info) ]]; then
|
||||
echo "%{$fg[magenta]%}detached-head%{$reset_color%})"
|
||||
else
|
||||
echo "$(git_prompt_info)"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
########################
|
||||
# Location Path Setter #
|
||||
########################
|
||||
|
||||
function get_pwd(){
|
||||
git_root=$PWD
|
||||
while [[ $git_root != / && ! -e $git_root/.git ]]; do
|
||||
git_root=$git_root:h
|
||||
done
|
||||
if [[ $git_root = / ]]; then
|
||||
unset git_root
|
||||
prompt_short_dir=%~
|
||||
else
|
||||
parent=${git_root%\/*}
|
||||
prompt_short_dir=${PWD#$parent/}
|
||||
fi
|
||||
echo $prompt_short_dir
|
||||
}
|
||||
|
||||
function acp() {
|
||||
git add .
|
||||
git commit -m "Update something"
|
||||
git push
|
||||
}
|
||||
|
||||
# Function taken from Jeff Geerling https://github.com/geerlingguy/dotfiles
|
||||
# that syncs and pushes your branches
|
||||
function gsync() {
|
||||
if [[ ! "$1" ]] ; then
|
||||
echo "You must supply a branch."
|
||||
return 0
|
||||
fi
|
||||
|
||||
BRANCHES=$(git branch --list $1)
|
||||
if [ ! "$BRANCHES" ] ; then
|
||||
echo "Branch $1 does not exist."
|
||||
return 0
|
||||
fi
|
||||
|
||||
git checkout "$1" && \
|
||||
git pull upstream "$1" && \
|
||||
git push origin "$1"
|
||||
}
|
||||
|
||||
# extract: Extract most know archives with one command
|
||||
# ---------------------------------------------------------
|
||||
extract () {
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.xz) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.bkz2) bunzip2 $1 ;;
|
||||
*.rar) unrar e $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "'$1' cannot be extracted via extract()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
source /Users/tiffanywhite/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
|
||||
BROWSER="Vivaldi.app"; export BROWSER
|
||||
EDITOR=nvim; export EDITOR
|
||||
VISUAL=wezterm; export VISUAL
|
||||
|
||||
eval "$(hub alias -s)"
|
||||
export GITHUB_TOKEN=$token
|
||||
|
||||
. $HOME/.asdf/asdf.sh
|
||||
|
||||
. $HOME/.asdf/completions/asdf.bash
|
||||
|
||||
. "$HOME/.cargo/env"
|
||||
|
||||
##############
|
||||
# Yarn Paths #
|
||||
##############
|
||||
|
||||
|
||||
# Set Spaceship ZSH as a prompt
|
||||
# autoload -U promptinit; promptinit
|
||||
# prompt spaceship
|
||||
|
||||
########################
|
||||
# Ruby/Jekyll Fix #
|
||||
########################
|
||||
|
||||
|
||||
########################################
|
||||
# Flags for Ruby Homebrew macOS errors #
|
||||
########################################
|
||||
|
||||
# export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
|
||||
# export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"
|
||||
|
||||
# export PKG_CONFIG_PATH="/opt/homebrew/opt/ruby/lib/pkgconfig"
|
||||
|
||||
eval "$(fzf --zsh)"
|
||||
|
||||
# Fix npm install errors
|
||||
# This loads nvm bash_completion
|
||||
|
||||
###########################
|
||||
# Python Environment Path #
|
||||
###########################
|
||||
|
||||
|
||||
# pnpm
|
||||
# pnpm end
|
||||
|
||||
#export ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX=YES
|
||||
|
||||
##########################
|
||||
# Homebrew directory fix #
|
||||
##########################
|
||||
|
||||
eval "$(fzf --zsh)"
|
||||
|
||||
|
||||
##############
|
||||
# Yazi Config #
|
||||
##############
|
||||
|
||||
|
||||
#eval "$(oh-my-posh init zsh --config $(brew --prefix oh-my-posh)/themes/catppuccin_frappe.omp.json)"
|
||||
|
||||
#eval "$(oh-my-posh init zsh --config ~/.mycat.omp.toml)"
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
# (( ! ${+functions[p10k]} )) || p10k finalize
|
||||
|
||||
|
||||
# Created by `pipx` on 2024-06-24 17:58:35
|
||||
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
|
||||
alias vim="nvim"
|
572
.zshrc.bak
Normal file
572
.zshrc.bak
Normal file
|
@ -0,0 +1,572 @@
|
|||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
# if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
# source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
# fi
|
||||
|
||||
ZSH=$HOME/.oh-my-zsh
|
||||
source $HOMEBREW_PREFIX/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh
|
||||
# Set name of the theme to load.
|
||||
# Look in ~/.oh-my-zsh/themes/
|
||||
# Optionally, if you set this to "random", it'll load a random theme each
|
||||
# time that oh-my-zsh is loaded.
|
||||
ZSH_THEME="spaceship"
|
||||
# ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||
# ORDER
|
||||
SPACESHIP_PROMPT_ORDER=(
|
||||
time #
|
||||
vi_mode # these sections will be
|
||||
user # before prompt char
|
||||
host #
|
||||
char
|
||||
dir
|
||||
git
|
||||
node
|
||||
ruby
|
||||
xcode
|
||||
swift
|
||||
golang
|
||||
docker
|
||||
venv
|
||||
pyenv
|
||||
)
|
||||
|
||||
# USER
|
||||
SPACESHIP_USER_PREFIX="" # remove `with` before username
|
||||
SPACESHIP_USER_SUFFIX="" # remove space before host
|
||||
|
||||
# HOST
|
||||
# Result will look like this:
|
||||
# username@:(hostname)
|
||||
SPACESHIP_HOST_PREFIX="@:("
|
||||
SPACESHIP_HOST_SUFFIX=") "
|
||||
|
||||
# DIR
|
||||
SPACESHIP_DIR_PREFIX='' # disable directory prefix, cause it's not the first section
|
||||
SPACESHIP_DIR_TRUNC='1' # show only last directory
|
||||
|
||||
# GIT
|
||||
# Disable git symbol
|
||||
SPACESHIP_GIT_SYMBOL="" # disable git prefix
|
||||
SPACESHIP_GIT_BRANCH_PREFIX="" # disable branch prefix too
|
||||
# Wrap git in `git:(...)`
|
||||
SPACESHIP_GIT_PREFIX='git:('
|
||||
SPACESHIP_GIT_SUFFIX=") "
|
||||
SPACESHIP_GIT_BRANCH_SUFFIX="" # remove space after branch name
|
||||
# Unwrap git status from `[...]`
|
||||
SPACESHIP_GIT_STATUS_PREFIX=""
|
||||
SPACESHIP_GIT_STATUS_SUFFIX=""
|
||||
|
||||
# NODE
|
||||
SPACESHIP_NODE_PREFIX="node:("
|
||||
SPACESHIP_NODE_SUFFIX=") "
|
||||
SPACESHIP_NODE_SYMBOL=""
|
||||
|
||||
# RUBY
|
||||
SPACESHIP_RUBY_PREFIX="ruby:("
|
||||
SPACESHIP_RUBY_SUFFIX=") "
|
||||
SPACESHIP_RUBY_SYMBOL=""
|
||||
|
||||
# XCODE
|
||||
SPACESHIP_XCODE_PREFIX="xcode:("
|
||||
SPACESHIP_XCODE_SUFFIX=") "
|
||||
SPACESHIP_XCODE_SYMBOL=""
|
||||
|
||||
# SWIFT
|
||||
SPACESHIP_SWIFT_PREFIX="swift:("
|
||||
SPACESHIP_SWIFT_SUFFIX=") "
|
||||
SPACESHIP_SWIFT_SYMBOL=""
|
||||
|
||||
# GOLANG
|
||||
SPACESHIP_GOLANG_PREFIX="go:("
|
||||
SPACESHIP_GOLANG_SUFFIX=") "
|
||||
SPACESHIP_GOLANG_SYMBOL=""
|
||||
|
||||
# DOCKER
|
||||
SPACESHIP_DOCKER_PREFIX="docker:("
|
||||
SPACESHIP_DOCKER_SUFFIX=") "
|
||||
SPACESHIP_DOCKER_SYMBOL=""
|
||||
|
||||
# VENV
|
||||
SPACESHIP_VENV_PREFIX="venv:("
|
||||
SPACESHIP_VENV_SUFFIX=") "
|
||||
|
||||
# PYENV
|
||||
SPACESHIP_PYENV_PREFIX="python:("
|
||||
SPACESHIP_PYENV_SUFFIX=") "
|
||||
SPACESHIP_PYENV_SYMBOL=""
|
||||
|
||||
# Z jump
|
||||
. $HOME/z.sh
|
||||
|
||||
# setopt AUTO_NAME_DIRS
|
||||
# setopt CDABLE_VARS
|
||||
# TWBlog=/Volumes/Working\ Drive/Git_Repositories/TWBlog
|
||||
# checkyoself=/Volumes/Working\ Drive/Git_Repositories/checkyoself
|
||||
# checkyoself-docs=/Volumes/Working\ Drive/Git_Repositories/checkyoselfDocs
|
||||
# dev-research=/Volumes/Working\ Drive/Git_Repositories/devResearch
|
||||
# book-finder=/Volumes/Working\ Drive/Git_Repositories/bookFinder
|
||||
# portfolio-v6=/Volumes/Working\ Drive/Git_Repositories/portfoliov6
|
||||
# tiffany.blog=/Volumes/Working\ Drive/Git_Repositories/tiffanyBlog
|
||||
|
||||
# resume=/Volumes/Working\ Drive/Git_Repositories/resume
|
||||
|
||||
# Apps
|
||||
|
||||
alias ci="code-insiders"
|
||||
alias chrome='/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome'
|
||||
alias canary='/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary'
|
||||
|
||||
# Kill Chrome because it gets stuck sometimes
|
||||
alias chromekill="ps ux | grep '[C]hrome Helper --type=renderer' | grep -v extension-process | tr -s ' ' | cut -d ' ' -f2 | xargs kill"
|
||||
|
||||
# Example aliases
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||
|
||||
# Set to this to use case-sensitive completion
|
||||
# CASE_SENSITIVE="true"
|
||||
|
||||
# Comment this out to disable weekly auto-update checks
|
||||
DISABLE_AUTO_UPDATE=false
|
||||
|
||||
# Uncomment following line if you want to disable colors in ls
|
||||
# DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment following line if you want to disable autosetting terminal title.
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment following line if you want red dots to be displayed while waiting for completion
|
||||
COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
plugins=(git dirhistory brew dircycle gitfast git-extras jsontools node npm macos repo sudo urltools web-search dirpersist history-substring-search last-working-dir safe-paste yarn zsh-completions)
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
# Timing
|
||||
PROMPT_TITLE='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
|
||||
export PROMPT_COMMAND="${PROMPT_COMMAND} ${PROMPT_TITLE}; "
|
||||
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor)
|
||||
|
||||
# Declare the variable
|
||||
typeset -A ZSH_HIGHLIGHT_STYLES
|
||||
|
||||
# To differentiate aliases from other command types
|
||||
ZSH_HIGHLIGHT_STYLES[alias]='fg=cyan,bold'
|
||||
|
||||
# To have paths colored instead of underlined
|
||||
ZSH_HIGHLIGHT_STYLES[path]='fg=magenta'
|
||||
|
||||
ZSH_HIGHLIGHT_STYLES[cursor]='bg=pink'
|
||||
|
||||
# To define styles for nested brackets up to level 4
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=blue,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=red,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=yellow,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=magenta,bold'
|
||||
|
||||
ZSH_HIGHLIGHT_STYLES[root]='bg=red'
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Go Paths
|
||||
# ------------------------------------------------------------------
|
||||
# export PATH=$PATH:$(go env GOPATH)/bin
|
||||
# export GOPATH=$(go env GOPATH)
|
||||
# export $PATH=$PATH:$GOBIN
|
||||
# export GOROOT=/usr/local/go
|
||||
|
||||
export GOPATH=/Users/tiffanywhite/go
|
||||
export PATH=$GOPATH/bin:$PATH
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Ruby Path fixes
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
|
||||
export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"
|
||||
|
||||
export PKG_CONFIG_PATH="/opt/homebrew/opt/ruby/lib/pkgconfig"
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Git aliases
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
alias gaa='git add -A'
|
||||
alias gp='git push'
|
||||
alias gl='git log'
|
||||
alias gs='git status'
|
||||
alias gd='git diff'
|
||||
alias gmsg='git commit -m'
|
||||
alias gmsga='git commit -am'
|
||||
alias gb='git branch'
|
||||
alias gc='git checkout'
|
||||
alias gra='git remote add'
|
||||
alias grr='git remote rm'
|
||||
alias gdown='git pull'
|
||||
alias gcl='git clone'
|
||||
alias gta='git tag -a -m'
|
||||
alias gf='git reflog'
|
||||
alias gfa='git fetch --all'
|
||||
alias pushor="git push -u origin main"
|
||||
alias addup='git remote add upstream'
|
||||
alias gitup='git fetch upstream'
|
||||
alias chmain='git checkout main'
|
||||
alias merup='git merge upstream/main'
|
||||
alias gst='git stash'
|
||||
alias gitsta='git stash apply'
|
||||
alias ohshit='git revert --no commit'
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# OTHER aliases
|
||||
# -------------------------------------------------------------------
|
||||
# alias python=/usr/local/bin/python3
|
||||
alias cl='clear'
|
||||
alias bi= 'bundle install'
|
||||
alias npming='npm install -g'
|
||||
alias h='history'
|
||||
alias help='man'
|
||||
alias pyide='open -a /Applications/PyCharm.app'
|
||||
alias pych="PyCharm ."
|
||||
alias gol="GoLand ."
|
||||
alias rus="open -a /Applications/RustRover.app"
|
||||
alias lion="open -a /Applications/CLion.app"
|
||||
alias rubyide='open -a /Applications/RubyMine.app'
|
||||
alias goide='open -a /Applications/GoLand.app'
|
||||
alias code='open -a Visual\ Studio\ Code.app'
|
||||
alias gitk='open -a /Applications/GitKraken.app'
|
||||
alias brewi='brew install'
|
||||
alias brupg='brew upgrade'
|
||||
alias brupd='brew update'
|
||||
alias szsh='source ~/.zshrc'
|
||||
alias jopt='jpeg-recompress --accurate --quality medium --min 40'
|
||||
alias popt='pngcrush -brute'
|
||||
alias jeksthx='bundle exec jekyll serve --livereload --open-url --port 4001 --future --host 0.0.0.0 '
|
||||
alias jeksth='bundle exec jekyll serve --livereload --open-url --drafts --future'
|
||||
alias jeksd='bundle exec jekyll serve --livereload --open-url --drafts --future'
|
||||
alias jeksttt='bundle exec jekyll serve --livereload --open-url --port 4002 --drafts --future --host 0.0.0.0'
|
||||
alias jeksg='bundle exec jekyll serve --livereload --open-url --port 4003 --drafts --future --host 0.0.0.0'
|
||||
alias jeksp='bundle exec jekyll serve --livereload --open-url --port 4004 --drafts --future --host 0.0.0.0'
|
||||
alias jeksfit='bundle exec jekyll serve --livereload --open-url --port 3040 --drafts --future --host 0.0.0.0'
|
||||
alias jeksb='bundle exec jekyll serve --livereload --open-url --port 3030 --drafts --future --host 0.0.0.0'
|
||||
alias gitor='git remote add origin'
|
||||
alias pushit='git push -u origin master'
|
||||
alias free='git pull --rebase upstream master'
|
||||
alias bug='git pull upstream master'
|
||||
alias start='torus run bin/rails server'
|
||||
alias console='torus run bin/rails console'
|
||||
alias killpry='lsof -wni tcp:3000'
|
||||
alias git=hub
|
||||
alias pullup='git pull upstream master'
|
||||
alias lint='./node_modules/.bin/eslint --init'
|
||||
alias gac="ga . && gcmsg"
|
||||
alias gpo="gp && go"
|
||||
alias gundo="git undo"
|
||||
alias yo="yo"
|
||||
alias dewebpng='find . -name "*.webp" | xargs -I {} dwebp {} -o {}.png'
|
||||
alias dewebpgif='find . -name "*.webp" | xargs -I {} dwebp {} -o {}.gif'
|
||||
alias dewebpjpg='find . -name "*.webp" | xargs -I {} dwebp {} -o {}.jpg'
|
||||
alias mp3="youtube-dl -i --extract-audio --audio-format mp3 --audio-quality 0"
|
||||
alias mkv="youtube-dl --merge-output-format mkv"
|
||||
alias mp4="youtube-dl --merge-output-format mp4"
|
||||
alias mp3play="youtube-dl -ict --yes-playlist --extract-audio --audio-format mp3 --audio-quality 0 "
|
||||
alias tailscale="/Applications/Tailscale.app/Contents/MacOS/Tailscale"
|
||||
alias ls='colorls --dark --sort-dirs --report -A --gs'
|
||||
alias lc='colorls --dark --sort-dirs --report -A --gs --tree'
|
||||
alias jeksdoc="docker-compose up"
|
||||
|
||||
# exa file list
|
||||
alias la="exa --git --color=automatic -x"
|
||||
# `cat` with beautiful colors. requires: pip install -U Pygments
|
||||
alias c='pygmentize -O style=borland -f console256 -g'
|
||||
|
||||
alias wmyip='curl ip.appspot.com'
|
||||
# memHogsTop, memHogsPs: Find memory hogs
|
||||
# -----------------------------------------------------
|
||||
alias memHogsTop='top -l 1 -o rsize | head -20'
|
||||
alias memHogsPs='ps wwaxm -o pid,stat,vsize,rss,time,command | head -10'
|
||||
|
||||
# cpuHogs: Find CPU hogs
|
||||
# -----------------------------------------------------
|
||||
alias cpu_hogs='ps wwaxr -o pid,stat,%cpu,time,command | head -10'
|
||||
alias flushDNS='dscacheutil -flushcache'
|
||||
|
||||
# Reload dns
|
||||
alias reloaddns="dscacheutil -flushcache && sudo killall -HUP mDNSResponder"
|
||||
|
||||
# Empty the Trash on all mounted volumes and the main HDD.
|
||||
# Also, clear Apple’s System Logs to improve shell startup speed.
|
||||
# Finally, clear download history from quarantine. https://mths.be/bum
|
||||
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'"
|
||||
|
||||
# finderShowHidden: Show hidden files in Finder
|
||||
# finderHideHidden: Hide hidden files in Finder
|
||||
# -------------------------------------------------------------------
|
||||
alias finderShowHidden='defaults write com.apple.finder ShowAllFiles TRUE'
|
||||
alias finderHideHidden='defaults write com.apple.finder ShowAllFiles FALSE'
|
||||
|
||||
# Useful Aliases
|
||||
|
||||
alias l="exa -l"
|
||||
alias copyssh="pbcopy < $HOME/.ssh/id_rsa.pub"
|
||||
alias alz="alias | fzf"
|
||||
|
||||
# alias tailscale="/Applications/Tailscale.app/Contents/MacOS/Tailscale"
|
||||
|
||||
########################
|
||||
# Terminalizer Aliases #
|
||||
########################
|
||||
|
||||
alias trex='terminalizer record'
|
||||
alias tconfig='terminalizer config'
|
||||
alias tren='terminalizer render'
|
||||
alias tplay='terminalizer play'
|
||||
alias tgen='terminalizer generate'
|
||||
alias tshare='terminalizer share'
|
||||
|
||||
fpath=(/usr/local/share/zsh-completions $fpath)
|
||||
|
||||
########################
|
||||
# Useful Functions #
|
||||
########################
|
||||
|
||||
# Git sometimes goes into a detached head state. git_prompt_info doesn't
|
||||
# return anything in this case. So wrap it in another function and check
|
||||
# for an empty string.
|
||||
function check_git_prompt_info() {
|
||||
if git rev-parse --git-dir > /dev/null 2>&1; then
|
||||
if [[ -z $(git_prompt_info) ]]; then
|
||||
echo "%{$fg[magenta]%}detached-head%{$reset_color%})"
|
||||
else
|
||||
echo "$(git_prompt_info)"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
########################
|
||||
# Location Path Setter #
|
||||
########################
|
||||
|
||||
function get_pwd(){
|
||||
git_root=$PWD
|
||||
while [[ $git_root != / && ! -e $git_root/.git ]]; do
|
||||
git_root=$git_root:h
|
||||
done
|
||||
if [[ $git_root = / ]]; then
|
||||
unset git_root
|
||||
prompt_short_dir=%~
|
||||
else
|
||||
parent=${git_root%\/*}
|
||||
prompt_short_dir=${PWD#$parent/}
|
||||
fi
|
||||
echo $prompt_short_dir
|
||||
}
|
||||
|
||||
function acp() {
|
||||
git add .
|
||||
git commit -m "Update something"
|
||||
git push
|
||||
}
|
||||
|
||||
# Function taken from Jeff Geerling https://github.com/geerlingguy/dotfiles
|
||||
# that syncs and pushes your branches
|
||||
function gsync() {
|
||||
if [[ ! "$1" ]] ; then
|
||||
echo "You must supply a branch."
|
||||
return 0
|
||||
fi
|
||||
|
||||
BRANCHES=$(git branch --list $1)
|
||||
if [ ! "$BRANCHES" ] ; then
|
||||
echo "Branch $1 does not exist."
|
||||
return 0
|
||||
fi
|
||||
|
||||
git checkout "$1" && \
|
||||
git pull upstream "$1" && \
|
||||
git push origin "$1"
|
||||
}
|
||||
|
||||
# extract: Extract most know archives with one command
|
||||
# ---------------------------------------------------------
|
||||
extract () {
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.xz) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.bkz2) bunzip2 $1 ;;
|
||||
*.rar) unrar e $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "'$1' cannot be extracted via extract()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
||||
function tbwebp() {
|
||||
for file in tiffany.blog-photos/*;
|
||||
do cwebp -q 50 "$file" -o "${file%.*}.webp";
|
||||
done
|
||||
}
|
||||
|
||||
function trwbwebp() {
|
||||
for file in TWBlog-photos/*;
|
||||
do cwebp -q 50 "$file" -o "${file%.*}.webp";
|
||||
done
|
||||
}
|
||||
|
||||
function shrink() {
|
||||
for file in blog/*;
|
||||
do magick -sampling-factor 4:2:0 -quality 85 -interlace JPEG -colorspace RGB "$file" "${file%.*}.jpg"
|
||||
done
|
||||
}
|
||||
|
||||
function f2fwebp() {
|
||||
for file in dfl-photos/*;
|
||||
do cwebp -q 50 "$file" -o "${file%.*}.webp";
|
||||
done
|
||||
}
|
||||
|
||||
function webpall() {
|
||||
for file in *;
|
||||
do cwebp -q 50 "$file" -o "${file%.*}.webp";
|
||||
done
|
||||
}
|
||||
|
||||
function removedates() {
|
||||
for file in *.md
|
||||
do mv "${file%%[0-9]*.md} /dates-removed/${file%*.md}"
|
||||
done
|
||||
}
|
||||
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
source /Users/tiffanywhite/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
|
||||
BROWSER="Vivaldi.app"; export BROWSER
|
||||
EDITOR=nvim; export EDITOR
|
||||
VISUAL=wezterm; export VISUAL
|
||||
|
||||
eval "$(hub alias -s)"
|
||||
export GITHUB_TOKEN=$token
|
||||
|
||||
. $HOME/.asdf/asdf.sh
|
||||
|
||||
. $HOME/.asdf/completions/asdf.bash
|
||||
|
||||
. "$HOME/.cargo/env"
|
||||
|
||||
##############
|
||||
# Yarn Paths #
|
||||
##############
|
||||
|
||||
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
|
||||
export PATH="$PATH:/opt/yarn-[1.22.4]/bin"
|
||||
export PATH="$PATH:`yarn global bin`"
|
||||
|
||||
# Set Spaceship ZSH as a prompt
|
||||
# autoload -U promptinit; promptinit
|
||||
# prompt spaceship
|
||||
|
||||
########################
|
||||
# Ruby/Jekyll Fix #
|
||||
########################
|
||||
|
||||
export PATH="/usr/local/opt/openssl/bin:$PATH"
|
||||
|
||||
########################################
|
||||
# Flags for Ruby Homebrew macOS errors #
|
||||
########################################
|
||||
|
||||
# export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
|
||||
# export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"
|
||||
|
||||
# export PKG_CONFIG_PATH="/opt/homebrew/opt/ruby/lib/pkgconfig"
|
||||
|
||||
eval "$(fzf --zsh)"
|
||||
|
||||
# Fix npm install errors
|
||||
export PATH="~/.npm-global/bin:$PATH"
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
###########################
|
||||
# Python Environment Path #
|
||||
###########################
|
||||
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
eval "$(zoxide init zsh)"
|
||||
# pnpm
|
||||
export PNPM_HOME="/Users/tiffanywhite/Library/pnpm"
|
||||
export PATH="$PNPM_HOME:$PATH"
|
||||
# pnpm end
|
||||
|
||||
export ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX=YES
|
||||
|
||||
##########################
|
||||
# Homebrew directory fix #
|
||||
##########################
|
||||
|
||||
eval "$(fzf --zsh)"
|
||||
|
||||
if [ "$TERM_PROGRAM" != "Apple_Terminal" ]; then
|
||||
eval "$(oh-my-posh init zsh)"
|
||||
fi
|
||||
|
||||
function y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||
builtin cd -- "$cwd"
|
||||
fi
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
|
||||
##############
|
||||
# Yazi Config #
|
||||
##############
|
||||
|
||||
|
||||
#eval "$(oh-my-posh init zsh --config $(brew --prefix oh-my-posh)/themes/catppuccin_frappe.omp.json)"
|
||||
|
||||
eval "$(oh-my-posh init zsh --config ~/.mycat.omp.toml)"
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
# (( ! ${+functions[p10k]} )) || p10k finalize
|
||||
|
||||
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
|
||||
|
||||
# Created by `pipx` on 2024-06-24 17:58:35
|
||||
export PATH="$PATH:/Users/tiffanywhite/.local/bin"
|
||||
eval "$(zellij setup --generate-auto-start zsh)"
|
||||
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
|
||||
export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
|
||||
export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"
|
||||
export PKG_CONFIG_PATH="/opt/homebrew/opt/ruby/lib/pkgconfig"
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
|
||||
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
|
||||
alias vim="nvim"
|
0
aliases.txt
Normal file
0
aliases.txt
Normal file
1
asciinema/install-id
Normal file
1
asciinema/install-id
Normal file
|
@ -0,0 +1 @@
|
|||
2339b1f5-d50e-4663-85f0-7c9041ea634e
|
19
ghostty/config
Normal file
19
ghostty/config
Normal file
|
@ -0,0 +1,19 @@
|
|||
theme=catppuccin-frappe.conf
|
||||
|
||||
window-height=30
|
||||
window-width=110
|
||||
window-theme=auto
|
||||
macos-titlebar-style=hidden
|
||||
background-blur-radius=25
|
||||
|
||||
|
||||
|
||||
font-family="Fira Code"
|
||||
font-size=24
|
||||
font-thicken=true
|
||||
cursor-style=block
|
||||
cursor-style-blink=true
|
||||
|
||||
|
||||
window-save-state=always
|
||||
|
22
ghostty/themes/catppuccin-frappe.conf
Normal file
22
ghostty/themes/catppuccin-frappe.conf
Normal file
|
@ -0,0 +1,22 @@
|
|||
palette = 0=#51576d
|
||||
palette = 1=#e78284
|
||||
palette = 2=#74c7ec
|
||||
palette = 3=#e5c890
|
||||
palette = 4=#8caaee
|
||||
palette = 5=#f4b8e4
|
||||
palette = 6=#81c8be
|
||||
palette = 7=#b5bfe2
|
||||
palette = 8=#626880
|
||||
palette = 9=#e78284
|
||||
palette = 10=#74c7ec
|
||||
palette = 11=#e5c890
|
||||
palette = 12=#8caaee
|
||||
palette = 13=#f4b8e4
|
||||
palette = 14=#81c8be
|
||||
palette = 15=#a5adce
|
||||
background = 303446
|
||||
foreground = c6d0f5
|
||||
cursor-color = f2d5cf
|
||||
cursor-text = 303446
|
||||
selection-background = 44495d
|
||||
selection-foreground = c6d0f5
|
22
ghostty/themes/catppuccin-latte.conf
Normal file
22
ghostty/themes/catppuccin-latte.conf
Normal file
|
@ -0,0 +1,22 @@
|
|||
palette = 0=#5c5f77
|
||||
palette = 1=#d20f39
|
||||
palette = 2=#40a02b
|
||||
palette = 3=#df8e1d
|
||||
palette = 4=#1e66f5
|
||||
palette = 5=#ea76cb
|
||||
palette = 6=#179299
|
||||
palette = 7=#acb0be
|
||||
palette = 8=#6c6f85
|
||||
palette = 9=#d20f39
|
||||
palette = 10=#40a02b
|
||||
palette = 11=#df8e1d
|
||||
palette = 12=#1e66f5
|
||||
palette = 13=#ea76cb
|
||||
palette = 14=#179299
|
||||
palette = 15=#bcc0cc
|
||||
background = eff1f5
|
||||
foreground = 4c4f69
|
||||
cursor-color = dc8a78
|
||||
cursor-text = eff1f5
|
||||
selection-background = d8dae1
|
||||
selection-foreground = 4c4f69
|
22
ghostty/themes/catppuccin-macchiato.conf
Normal file
22
ghostty/themes/catppuccin-macchiato.conf
Normal file
|
@ -0,0 +1,22 @@
|
|||
palette = 0=#494d64
|
||||
palette = 1=#ed8796
|
||||
palette = 2=#a6da95
|
||||
palette = 3=#eed49f
|
||||
palette = 4=#8aadf4
|
||||
palette = 5=#f5bde6
|
||||
palette = 6=#8bd5ca
|
||||
palette = 7=#b8c0e0
|
||||
palette = 8=#5b6078
|
||||
palette = 9=#ed8796
|
||||
palette = 10=#a6da95
|
||||
palette = 11=#eed49f
|
||||
palette = 12=#8aadf4
|
||||
palette = 13=#f5bde6
|
||||
palette = 14=#8bd5ca
|
||||
palette = 15=#a5adcb
|
||||
background = 24273a
|
||||
foreground = cad3f5
|
||||
cursor-color = f4dbd6
|
||||
cursor-text = 24273a
|
||||
selection-background = 3a3e53
|
||||
selection-foreground = cad3f5
|
22
ghostty/themes/catppuccin-mocha.conf
Normal file
22
ghostty/themes/catppuccin-mocha.conf
Normal file
|
@ -0,0 +1,22 @@
|
|||
palette = 0=#45475a
|
||||
palette = 1=#f38ba8
|
||||
palette = 2=#a6e3a1
|
||||
palette = 3=#f9e2af
|
||||
palette = 4=#89b4fa
|
||||
palette = 5=#f5c2e7
|
||||
palette = 6=#94e2d5
|
||||
palette = 7=#bac2de
|
||||
palette = 8=#585b70
|
||||
palette = 9=#f38ba8
|
||||
palette = 10=#a6e3a1
|
||||
palette = 11=#f9e2af
|
||||
palette = 12=#89b4fa
|
||||
palette = 13=#f5c2e7
|
||||
palette = 14=#94e2d5
|
||||
palette = 15=#a6adc8
|
||||
background = 1e1e2e
|
||||
foreground = cdd6f4
|
||||
cursor-color = f5e0dc
|
||||
cursor-text = 1e1e2e
|
||||
selection-background = 353749
|
||||
selection-foreground = cdd6f4
|
21
ghostty/themes/coolnight.bak
Normal file
21
ghostty/themes/coolnight.bak
Normal file
|
@ -0,0 +1,21 @@
|
|||
palette = 0=#214969
|
||||
palette = 1=#E52E2E
|
||||
palette = 2=#44FFB1
|
||||
palette = 3=#FFE073
|
||||
palette = 4=#49cae4
|
||||
palette = 5=#0FC5ED
|
||||
palette = 6=#a277ff
|
||||
palette = 7=#24EAF7
|
||||
palette = 8=#24EAF7
|
||||
palette = 9=#214969
|
||||
palette = 10=#E52E2E
|
||||
palette = 11=#44FFB1
|
||||
palette = 12=#FFE073
|
||||
palette = 13=#A277FF
|
||||
palette = 14=#a277ff
|
||||
palette = 15=#24EAF7
|
||||
background =#011f37
|
||||
foreground = #CBE0F0
|
||||
cursor-color = #47FF9C
|
||||
selection-background = #033259
|
||||
selection-foreground = #CBE0F0
|
32
gitconfig/.gitconfig
Normal file
32
gitconfig/.gitconfig
Normal file
|
@ -0,0 +1,32 @@
|
|||
[user]
|
||||
name = tiff
|
||||
email = tiff@tifflabs.org
|
||||
[core]
|
||||
editor = nvim
|
||||
excludesfile = ~/.gitignore
|
||||
autocrlf = input
|
||||
[color]
|
||||
branch = auto
|
||||
diff = auto
|
||||
interactive = auto
|
||||
status = auto
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[web]
|
||||
browser = vivaldi
|
||||
[credential]
|
||||
helper = osxkeychain
|
||||
[push]
|
||||
default = simple
|
||||
[merge]
|
||||
tool = kdiff3
|
||||
[difftool]
|
||||
prompt = false
|
||||
[alias]
|
||||
d = diff
|
||||
dc = diff --cached
|
||||
l = log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit
|
||||
[pull]
|
||||
rebase = false
|
||||
[rerere]
|
||||
enabled = true
|
|
@ -1,9 +0,0 @@
|
|||
aliases:
|
||||
dp: deployments
|
||||
sec: v1/secrets
|
||||
jo: jobs
|
||||
cr: clusterroles
|
||||
crb: clusterrolebindings
|
||||
ro: roles
|
||||
rb: rolebindings
|
||||
np: networkpolicies
|
|
@ -1,42 +0,0 @@
|
|||
k9s:
|
||||
liveViewAutoRefresh: false
|
||||
screenDumpDir: /home/arcadian/.local/state/k9s/screen-dumps
|
||||
refreshRate: 2
|
||||
maxConnRetry: 5
|
||||
readOnly: false
|
||||
noExitOnCtrlC: false
|
||||
ui:
|
||||
skin: theme
|
||||
enableMouse: false
|
||||
headless: false
|
||||
logoless: false
|
||||
crumbsless: false
|
||||
reactive: false
|
||||
noIcons: false
|
||||
defaultsToFullScreen: false
|
||||
skipLatestRevCheck: false
|
||||
disablePodCounting: false
|
||||
shellPod:
|
||||
image: busybox:1.35.0
|
||||
namespace: default
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 100Mi
|
||||
imageScans:
|
||||
enable: false
|
||||
exclusions:
|
||||
namespaces: []
|
||||
labels: {}
|
||||
logger:
|
||||
tail: 100
|
||||
buffer: 5000
|
||||
sinceSeconds: -1
|
||||
textWrap: false
|
||||
showTime: false
|
||||
thresholds:
|
||||
cpu:
|
||||
critical: 90
|
||||
warn: 70
|
||||
memory:
|
||||
critical: 90
|
||||
warn: 70
|
|
@ -1,100 +0,0 @@
|
|||
k9s:
|
||||
body:
|
||||
fgColor: '#cdd6f4'
|
||||
bgColor: '#1e1e2e'
|
||||
logoColor: '#cba6f7'
|
||||
prompt:
|
||||
fgColor: '#cdd6f4'
|
||||
bgColor: '#181825'
|
||||
suggestColor: '#89b4fa'
|
||||
help:
|
||||
fgColor: '#cdd6f4'
|
||||
bgColor: '#1e1e2e'
|
||||
sectionColor: '#a6e3a1'
|
||||
keyColor: '#89b4fa'
|
||||
numKeyColor: '#eba0ac'
|
||||
frame:
|
||||
title:
|
||||
fgColor: '#94e2d5'
|
||||
bgColor: '#1e1e2e'
|
||||
highlightColor: '#f5c2e7'
|
||||
counterColor: '#f9e2af'
|
||||
filterColor: '#a6e3a1'
|
||||
border:
|
||||
fgColor: '#cba6f7'
|
||||
focusColor: '#b4befe'
|
||||
menu:
|
||||
fgColor: '#cdd6f4'
|
||||
keyColor: '#89b4fa'
|
||||
numKeyColor: '#eba0ac'
|
||||
crumbs:
|
||||
fgColor: '#1e1e2e'
|
||||
bgColor: '#eba0ac'
|
||||
activeColor: '#f2cdcd'
|
||||
status:
|
||||
newColor: '#89b4fa'
|
||||
modifyColor: '#b4befe'
|
||||
addColor: '#a6e3a1'
|
||||
pendingColor: '#fab387'
|
||||
errorColor: '#f38ba8'
|
||||
highlightColor: '#89dceb'
|
||||
killColor: '#cba6f7'
|
||||
completedColor: '#6c7086'
|
||||
info:
|
||||
fgColor: '#fab387'
|
||||
sectionColor: '#cdd6f4'
|
||||
views:
|
||||
table:
|
||||
fgColor: '#cdd6f4'
|
||||
bgColor: '#1e1e2e'
|
||||
cursorFgColor: '#313244'
|
||||
cursorBgColor: '#45475a'
|
||||
markColor: '#f5e0dc'
|
||||
header:
|
||||
fgColor: '#f9e2af'
|
||||
bgColor: '#1e1e2e'
|
||||
sorterColor: '#89dceb'
|
||||
xray:
|
||||
fgColor: '#cdd6f4'
|
||||
bgColor: '#1e1e2e'
|
||||
cursorColor: '#45475a'
|
||||
cursorTextColor: '#1e1e2e'
|
||||
graphicColor: '#f5c2e7'
|
||||
charts:
|
||||
bgColor: '#1e1e2e'
|
||||
chartBgColor: '#1e1e2e'
|
||||
dialBgColor: '#1e1e2e'
|
||||
defaultDialColors:
|
||||
- '#a6e3a1'
|
||||
- '#f38ba8'
|
||||
defaultChartColors:
|
||||
- '#a6e3a1'
|
||||
- '#f38ba8'
|
||||
resourceColors:
|
||||
cpu:
|
||||
- '#cba6f7'
|
||||
- '#89b4fa'
|
||||
mem:
|
||||
- '#f9e2af'
|
||||
- '#fab387'
|
||||
yaml:
|
||||
keyColor: '#89b4fa'
|
||||
valueColor: '#cdd6f4'
|
||||
colonColor: '#a6adc8'
|
||||
logs:
|
||||
fgColor: '#cdd6f4'
|
||||
bgColor: '#1e1e2e'
|
||||
indicator:
|
||||
fgColor: '#b4befe'
|
||||
bgColor: '#1e1e2e'
|
||||
toggleOnColor: '#a6e3a1'
|
||||
toggleOffColor: '#a6adc8'
|
||||
dialog:
|
||||
fgColor: '#f9e2af'
|
||||
bgColor: '#9399b2'
|
||||
buttonFgColor: '#1e1e2e'
|
||||
buttonBgColor: '#7f849c'
|
||||
buttonFocusFgColor: '#1e1e2e'
|
||||
buttonFocusBgColor: '#f5c2e7'
|
||||
labelFgColor: '#f5e0dc'
|
||||
fieldFgColor: '#cdd6f4'
|
30
nvim.bak/init.lua
Normal file
30
nvim.bak/init.lua
Normal file
|
@ -0,0 +1,30 @@
|
|||
local set = vim.opt
|
||||
|
||||
set.shiftwidth = 2
|
||||
set.tabstop = 2
|
||||
set.softtabstop = 2
|
||||
set.expandtab = true
|
||||
set.autoindent = true
|
||||
set.number = true
|
||||
set.relativenumber = true
|
||||
set.clipboard = "unnamedplus"
|
||||
set.splitright = true
|
||||
set.splitbelow = true
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
vim.keymap.set("n", "<space><space>x", "<cmd>source %<CR>", { desc = "Source file" })
|
||||
vim.keymap.set("n", "<leader>cs", "<cmd>nohl<CR>", { desc = "Clear search highlights" })
|
||||
vim.keymap.set("n", "<leader>ww", "<cmd>set wrap!<CR>", { desc = "Toggle word wrap" })
|
||||
vim.keymap.set("n", "<leader>lb", "<cmd>set linebreak!<CR>", { desc = "Toggle linebreak" })
|
||||
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
desc = "Highlight when yanking",
|
||||
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||
callback = function()
|
||||
vim.highlight.on_yank()
|
||||
end,
|
||||
})
|
||||
|
||||
require("config.lazy")
|
46
nvim.bak/lazy-lock.json
Normal file
46
nvim.bak/lazy-lock.json
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
||||
"auto-session": { "branch": "main", "commit": "021b64ed7d4ac68a37be3ad28d8e1cba5bec582c" },
|
||||
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"copilot.vim": { "branch": "release", "commit": "87038123804796ca7af20d1b71c3428d858a9124" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "3a45525bb182730fe462325c99395529308f431e" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "d8918f06624dd53b9a82bd0e29c31bcfd541b40d" },
|
||||
"image.nvim": { "branch": "master", "commit": "b991fc7f845bc6ab40c6ec00b39750dcd5190010" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
|
||||
"lazygit.nvim": { "branch": "main", "commit": "77a0d42943d8265271e6e6beaed72da54eeb17e7" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "ed8f80849ef1ad31c2f74679fafdef7801091247" },
|
||||
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
|
||||
"nvim-dap": { "branch": "master", "commit": "ead0de6eac91a555b714bfd7d28959eeecfb96f9" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "e94d98649dccb6a3884b66aabc2e07beb279e535" },
|
||||
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "043d5fb1505ca4bc0f48b42666ae7ebc4bb1a671" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "4adeeaa7a32d46cf3b5833341358c797304f950a" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "174230d6a7f2df94705a7ffd8d5413e27ec10a80" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "d847ea942a5bb4d4fab6efebc9f30d787fd96e65" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" }
|
||||
}
|
42
nvim.bak/lua/config/lazy.lua
Normal file
42
nvim.bak/lua/config/lazy.lua
Normal file
|
@ -0,0 +1,42 @@
|
|||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
ui = {
|
||||
-- a number <1 is a percentage., >1 is a fixed size
|
||||
size = { width = 0.6, height = 0.6 },
|
||||
-- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
|
||||
border = "rounded",
|
||||
},
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "config.plugins.auto-completion" },
|
||||
{ import = "config.plugins.core" },
|
||||
{ import = "config.plugins.git" },
|
||||
{ import = "config.plugins.lsp" },
|
||||
{ import = "config.plugins.qol" },
|
||||
{ import = "config.plugins.ui" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "catppuccin" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>l", "<cmd>Lazy<CR>", { desc = "Lazy" })
|
8
nvim/.gitignore
vendored
Normal file
8
nvim/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
15
nvim/.neoconf.json
Normal file
15
nvim/.neoconf.json
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
201
nvim/LICENSE
Normal file
201
nvim/LICENSE
Normal file
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
4
nvim/README.md
Normal file
4
nvim/README.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
|
@ -1,30 +1,3 @@
|
|||
local set = vim.opt
|
||||
|
||||
set.shiftwidth = 2
|
||||
set.tabstop = 2
|
||||
set.softtabstop = 2
|
||||
set.expandtab = true
|
||||
set.autoindent = true
|
||||
set.number = true
|
||||
set.relativenumber = true
|
||||
set.clipboard = "unnamedplus"
|
||||
set.splitright = true
|
||||
set.splitbelow = true
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
vim.keymap.set("n", "<space><space>x", "<cmd>source %<CR>", { desc = "Source file" })
|
||||
vim.keymap.set("n", "<leader>cs", "<cmd>nohl<CR>", { desc = "Clear search highlights" })
|
||||
vim.keymap.set("n", "<leader>ww", "<cmd>set wrap!<CR>", { desc = "Toggle word wrap" })
|
||||
vim.keymap.set("n", "<leader>lb", "<cmd>set linebreak!<CR>", { desc = "Toggle linebreak" })
|
||||
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
desc = "Highlight when yanking",
|
||||
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||
callback = function()
|
||||
vim.highlight.on_yank()
|
||||
end,
|
||||
})
|
||||
|
||||
vim.deprecate = function() end ---@diagnostic disable-line: duplicate-set-field
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
|
|
|
@ -1,46 +1,61 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
||||
"auto-session": { "branch": "main", "commit": "021b64ed7d4ac68a37be3ad28d8e1cba5bec582c" },
|
||||
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"copilot.vim": { "branch": "release", "commit": "87038123804796ca7af20d1b71c3428d858a9124" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "3a45525bb182730fe462325c99395529308f431e" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "d8918f06624dd53b9a82bd0e29c31bcfd541b40d" },
|
||||
"image.nvim": { "branch": "master", "commit": "b991fc7f845bc6ab40c6ec00b39750dcd5190010" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
|
||||
"lazygit.nvim": { "branch": "main", "commit": "77a0d42943d8265271e6e6beaed72da54eeb17e7" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "ed8f80849ef1ad31c2f74679fafdef7801091247" },
|
||||
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
|
||||
"nvim-dap": { "branch": "master", "commit": "ead0de6eac91a555b714bfd7d28959eeecfb96f9" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "e94d98649dccb6a3884b66aabc2e07beb279e535" },
|
||||
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "043d5fb1505ca4bc0f48b42666ae7ebc4bb1a671" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "4adeeaa7a32d46cf3b5833341358c797304f950a" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "174230d6a7f2df94705a7ffd8d5413e27ec10a80" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "d847ea942a5bb4d4fab6efebc9f30d787fd96e65" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" }
|
||||
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "98543263f95dd191fd6d3b08500680d18bebe214" },
|
||||
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
||||
"blogutils.nvim": { "branch": "master", "commit": "f68fb20f56b11b8ee0ecaa8c498764b7573bf9e6" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
|
||||
"cmake-tools.nvim": { "branch": "master", "commit": "d4eb7638f6048a1701dedb0cf3891e7238ec3ce1" },
|
||||
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
|
||||
"crates.nvim": { "branch": "main", "commit": "5d8b1bef686db0fabe5f1bb593744b617e8f1405" },
|
||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"fzf-lua": { "branch": "main", "commit": "39c55811772d61751d8e5206e8746e0e3ec95f64" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "e152f6f4c4261e177a5417dce0980d3a88cc6ce1" },
|
||||
"inc-rename.nvim": { "branch": "main", "commit": "a3e31af13844534c66041ce92f29af7745883875" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"mdx.nvim": { "branch": "main", "commit": "464a74be368dce212cff02f6305845dc7f209ab3" },
|
||||
"mini.ai": { "branch": "main", "commit": "95e9d77e58bdf633c4d0c6b8c72892dd10eada51" },
|
||||
"mini.comment": { "branch": "main", "commit": "22ee9f6be1c78bcebe009a564758e5b6df08903b" },
|
||||
"mini.diff": { "branch": "main", "commit": "f7bcd3cb4561f7d3a02ae9afafeda899c82f7108" },
|
||||
"mini.files": { "branch": "main", "commit": "49c855977e9f4821d1ed8179ed44fe098b93ea2a" },
|
||||
"mini.hipatterns": { "branch": "main", "commit": "e5083df391171dc9d8172645606f8496d9443374" },
|
||||
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
|
||||
"mini.nvim": { "branch": "main", "commit": "35e1767f4cd7dde51256eabae7349a5283a43cba" },
|
||||
"mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" },
|
||||
"mini.snippets": { "branch": "main", "commit": "6f0de3c3f97a8c015f99619f72edf9b2880b6886" },
|
||||
"mini.surround": { "branch": "main", "commit": "365f98d842face0876e95f05d6e48fbfcc08e351" },
|
||||
"multiple-cursors.nvim": { "branch": "main", "commit": "1ac15d047a4b265cc2389957bcc56ee561b29e02" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-lint": { "branch": "master", "commit": "cc26ae6a620298bb3f33b0e0681f99a10ae57781" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "a182334ba933e58240c2c45e6ae2d9c7ae313e00" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "0f051e9813a36481f48ca1f833897210dbcfffde" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
||||
"octo.nvim": { "branch": "master", "commit": "3ee802ce8486c2a07d0219a12544433b9c95ad35" },
|
||||
"outline.nvim": { "branch": "main", "commit": "321f89ef79f168a78685f70d70c52d0e7b563abb" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "6f5a4c36d9383b2a916facaa63dcd573afa11ee8" },
|
||||
"rustaceanvim": { "branch": "master", "commit": "a0c8e9698ef90bcfdf42806a38bf55b612b65b18" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
|
||||
"vim-dadbod": { "branch": "master", "commit": "e95afed23712f969f83b4857a24cf9d59114c2e6" },
|
||||
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
|
||||
"vim-dadbod-ui": { "branch": "master", "commit": "2900a1617b3df1a48683d872eadbe1101146a49a" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "412c474e97468e7934b9c217064025ea7a69e05e" },
|
||||
"vim-wakatime": { "branch": "master", "commit": "f39c4a201ae350aaba713b59d4a4fdd88e0811aa" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
|
||||
"yanky.nvim": { "branch": "main", "commit": "04775cc6e10ef038c397c407bc17f00a2f52b378" },
|
||||
"yazi.nvim": { "branch": "main", "commit": "e2ddbaa88ec61d0b96e3d53ba851b0e7a0b36f14" }
|
||||
}
|
||||
|
|
42
nvim/lazyvim.json
Normal file
42
nvim/lazyvim.json
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.mini-comment",
|
||||
"lazyvim.plugins.extras.coding.mini-snippets",
|
||||
"lazyvim.plugins.extras.coding.mini-surround",
|
||||
"lazyvim.plugins.extras.coding.yanky",
|
||||
"lazyvim.plugins.extras.editor.fzf",
|
||||
"lazyvim.plugins.extras.editor.inc-rename",
|
||||
"lazyvim.plugins.extras.editor.mini-diff",
|
||||
"lazyvim.plugins.extras.editor.mini-files",
|
||||
"lazyvim.plugins.extras.editor.outline",
|
||||
"lazyvim.plugins.extras.editor.snacks_explorer",
|
||||
"lazyvim.plugins.extras.editor.snacks_picker",
|
||||
"lazyvim.plugins.extras.lang.astro",
|
||||
"lazyvim.plugins.extras.lang.cmake",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.git",
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.nix",
|
||||
"lazyvim.plugins.extras.lang.php",
|
||||
"lazyvim.plugins.extras.lang.python",
|
||||
"lazyvim.plugins.extras.lang.ruby",
|
||||
"lazyvim.plugins.extras.lang.rust",
|
||||
"lazyvim.plugins.extras.lang.sql",
|
||||
"lazyvim.plugins.extras.lang.svelte",
|
||||
"lazyvim.plugins.extras.lang.tailwind",
|
||||
"lazyvim.plugins.extras.lang.toml",
|
||||
"lazyvim.plugins.extras.lang.yaml",
|
||||
"lazyvim.plugins.extras.lang.zig",
|
||||
"lazyvim.plugins.extras.util.dot",
|
||||
"lazyvim.plugins.extras.util.gitui",
|
||||
"lazyvim.plugins.extras.util.mini-hipatterns",
|
||||
"lazyvim.plugins.extras.util.octo"
|
||||
],
|
||||
"install_version": 7,
|
||||
"news": {
|
||||
"NEWS.md": "10960"
|
||||
},
|
||||
"version": 8
|
||||
}
|
3
nvim/lua/config/autocmds.lua
Normal file
3
nvim/lua/config/autocmds.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
-- Add any additional autocmds here
|
233
nvim/lua/config/keymaps.lua
Normal file
233
nvim/lua/config/keymaps.lua
Normal file
|
@ -0,0 +1,233 @@
|
|||
-- 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
|
||||
-- Add any additional keymaps here
|
||||
|
||||
-- set leader key to space
|
||||
vim.g.mapleader = " "
|
||||
|
||||
local keymap = vim.keymap -- for conciseness
|
||||
|
||||
---------------------
|
||||
-- General Keymaps -------------------
|
||||
|
||||
-- use jk to exit insert mode
|
||||
keymap.set("i", "jk", "<ESC>", { desc = "Exit insert mode with jk" })
|
||||
|
||||
-- clear search highlights
|
||||
keymap.set("n", "<leader>nh", ":nohl<CR>", { desc = "Clear search highlights" })
|
||||
|
||||
-- delete single character without copying into register
|
||||
-- keymap.set("n", "x", '"_x')
|
||||
|
||||
-- increment/decrement numbers
|
||||
keymap.set("n", "<leader>+", "<C-a>", { desc = "Increment number" }) -- increment
|
||||
keymap.set("n", "<leader>-", "<C-x>", { desc = "Decrement number" }) -- decrement
|
||||
|
||||
-- window management
|
||||
keymap.set("n", "<leader>sv", "<C-w>v", { desc = "Split window vertically" }) -- split window vertically
|
||||
keymap.set("n", "<leader>sh", "<C-w>s", { desc = "Split window horizontally" }) -- split window horizontally
|
||||
keymap.set("n", "<leader>se", "<C-w>=", { desc = "Make splits equal size" }) -- make split windows equal width & height
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>sx",
|
||||
"<cmd>close<CR>",
|
||||
{ desc = "Close current split" }
|
||||
) -- close current split window
|
||||
|
||||
keymap.set("n", "<leader>to", "<cmd>tabnew<CR>", { desc = "Open new tab" }) -- open new tab
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>tx",
|
||||
"<cmd>tabclose<CR>",
|
||||
{ desc = "Close current tab" }
|
||||
) -- close current tab
|
||||
keymap.set("n", "<leader>tn", "<cmd>tabn<CR>", { desc = "Go to next tab" }) -- go to next tab
|
||||
keymap.set("n", "<leader>tp", "<cmd>tabp<CR>", { desc = "Go to previous tab" }) -- go to previous tab
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>tf",
|
||||
"<cmd>tabnew %<CR>",
|
||||
{ desc = "Open current buffer in new tab" }
|
||||
) -- move current buffer to new tab
|
||||
|
||||
keymap.set("i", "<C-b>", "<ESC>^i", { desc = "Move Beginning of line" })
|
||||
keymap.set("i", "<C-e>", "<End>", { desc = "Move End of line" })
|
||||
keymap.set("i", "<C-h>", "<Left>", { desc = "Move Left" })
|
||||
keymap.set("i", "<C-l>", "<Right>", { desc = "Move Right" })
|
||||
keymap.set("i", "<C-j>", "<Down>", { desc = "Move Down" })
|
||||
keymap.set("i", "<C-k>", "<Up>", { desc = "Move Up" })
|
||||
|
||||
keymap.set("n", "<Esc>", "<cmd>noh<CR>", { desc = "General Clear highlights" })
|
||||
|
||||
keymap.set("n", "<C-h>", "<C-w>h", { desc = "Switch Window left" })
|
||||
keymap.set("n", "<C-l>", "<C-w>l", { desc = "Switch Window right" })
|
||||
keymap.set("n", "<C-j>", "<C-w>j", { desc = "Switch Window down" })
|
||||
keymap.set("n", "<C-k>", "<C-w>k", { desc = "Switch Window up" })
|
||||
keymap.set("n", "<S-Up>", "<S-Up>", { desc = "Increase Window Height" })
|
||||
|
||||
keymap.set("n", "<C-s>", "<cmd>w<CR>", { desc = "File Save" })
|
||||
keymap.set("i", "<C-s>", "<C-s>l", { desc = "Save file in Insert mode" })
|
||||
keymap.set("n", "<C-c>", "<cmd>%y+<CR>", { desc = "File Copy whole" })
|
||||
|
||||
-- keymap.set("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "Toggle Line number" })
|
||||
-- keymap.set("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "Toggle Relative number" })
|
||||
-- keymap.set("n", "<leader>ch", "<cmd>NvCheatsheet<CR>", { desc = "Toggle NvCheatsheet" })
|
||||
|
||||
keymap.set("n", "<leader>fm", function()
|
||||
require("conform").format({ lsp_fallback = true })
|
||||
end, { desc = "Format Files" })
|
||||
|
||||
-- global lsp mappings
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>lf",
|
||||
vim.diagnostic.open_float,
|
||||
{ desc = "Lsp floating diagnostics" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"[d",
|
||||
vim.diagnostic.goto_prev,
|
||||
{ desc = "Lsp prev diagnostic" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"]d",
|
||||
vim.diagnostic.goto_next,
|
||||
{ desc = "Lsp next diagnostic" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>q",
|
||||
vim.diagnostic.setloclist,
|
||||
{ desc = "Lsp diagnostic loclist" }
|
||||
)
|
||||
|
||||
-- Comment
|
||||
keymap.set("n", "<leader>/", function()
|
||||
require("Comment.api").toggle.linewise.current()
|
||||
end, { desc = "Comment Toggle" })
|
||||
|
||||
keymap.set(
|
||||
"v",
|
||||
"<leader>/",
|
||||
"<ESC><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<CR>",
|
||||
{ desc = "Comment Toggle" }
|
||||
)
|
||||
|
||||
-- blogutils
|
||||
|
||||
keymap.set("n", "<leader>`", "<S-u>", { desc = "Command for blogutils" })
|
||||
|
||||
-- telescope
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>fw",
|
||||
"<cmd>Telescope live_grep<CR>",
|
||||
{ desc = "Telescope Live grep" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>fb",
|
||||
"<cmd>Telescope buffers<CR>",
|
||||
{ desc = "Telescope Find buffers" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>fh",
|
||||
"<cmd>Telescope help_tags<CR>",
|
||||
{ desc = "Telescope Help page" }
|
||||
)
|
||||
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>fo",
|
||||
"<cmd>Telescope oldfiles<CR>",
|
||||
{ desc = "Telescope Find oldfiles" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>fz",
|
||||
"<cmd>Telescope current_buffer_fuzzy_find<CR>",
|
||||
{ desc = "Telescope Find in current buffer" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>cm",
|
||||
"<cmd>Telescope git_commits<CR>",
|
||||
{ desc = "Telescope Git commits" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>gt",
|
||||
"<cmd>Telescope git_status<CR>",
|
||||
{ desc = "Telescope Git status" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>pt",
|
||||
"<cmd>Telescope terms<CR>",
|
||||
{ desc = "Telescope Pick hidden term" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>th",
|
||||
"<cmd>Telescope themes<CR>",
|
||||
{ desc = "Telescope Nvchad themes" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>ff",
|
||||
"<cmd>Telescope find_files<cr>",
|
||||
{ desc = "Telescope Find files" }
|
||||
)
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>fa",
|
||||
"<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>",
|
||||
{ desc = "Telescope Find all files" }
|
||||
)
|
||||
|
||||
-- terminal
|
||||
keymap.set(
|
||||
"t",
|
||||
"<C-x>",
|
||||
"<C-\\><C-N>",
|
||||
{ desc = "Terminal Escape terminal mode" }
|
||||
)
|
||||
|
||||
keymap.set("t", "<ESC>", function()
|
||||
local win = vim.api.nvim_get_current_win()
|
||||
vim.api.nvim_win_close(win, true)
|
||||
end, { desc = "Terminal Close term in terminal mode" })
|
||||
|
||||
-- whichkey
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>wK",
|
||||
"<cmd>WhichKey <CR>",
|
||||
{ desc = "Whichkey all keymaps" }
|
||||
)
|
||||
|
||||
keymap.set("n", "<leader>wk", function()
|
||||
vim.cmd("WhichKey " .. vim.fn.input("WhichKey: "))
|
||||
end, { desc = "Whichkey query lookup" })
|
||||
|
||||
-- blankline
|
||||
keymap.set("n", "<leader>cc", function()
|
||||
local config = { scope = {} }
|
||||
config.scope.exclude = { language = {}, node_type = {} }
|
||||
config.scope.include = { node_type = {} }
|
||||
local node = require("ibl.scope").get(vim.api.nvim_get_current_buf(), config)
|
||||
|
||||
if node then
|
||||
local start_row, _, end_row, _ = node:range()
|
||||
if start_row ~= end_row then
|
||||
vim.api.nvim_win_set_cursor(
|
||||
vim.api.nvim_get_current_win(),
|
||||
{ start_row + 1, 0 }
|
||||
)
|
||||
vim.api.nvim_feedkeys("_", "n", true)
|
||||
end
|
||||
end
|
||||
end, { desc = "Blankline Jump to current context" })
|
|
@ -1,42 +1,50 @@
|
|||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
-- bootstrap lazy.nvim
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Setup lazy.nvim
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
vim.deprecate = function() end ---@diagnostic disable-line: duplicate-set-field
|
||||
require("lazy").setup({
|
||||
ui = {
|
||||
-- a number <1 is a percentage., >1 is a fixed size
|
||||
size = { width = 0.6, height = 0.6 },
|
||||
-- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
|
||||
border = "rounded",
|
||||
},
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "config.plugins.auto-completion" },
|
||||
{ import = "config.plugins.core" },
|
||||
{ import = "config.plugins.git" },
|
||||
{ import = "config.plugins.lsp" },
|
||||
{ import = "config.plugins.qol" },
|
||||
{ import = "config.plugins.ui" },
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import any extras modules here
|
||||
-- { import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
-- { import = "lazyvim.plugins.extras.lang.json" },
|
||||
-- { import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
-- { import = "plugins.lsp"}
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
change_detection = {
|
||||
notify = false,
|
||||
},
|
||||
install = { colorscheme = { "catppuccin-frappe" } },
|
||||
checker = { enabled = true }, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "catppuccin" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>l", "<cmd>Lazy<CR>", { desc = "Lazy" })
|
||||
|
|
46
nvim/lua/config/options.lua
Normal file
46
nvim/lua/config/options.lua
Normal file
|
@ -0,0 +1,46 @@
|
|||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
local opt = vim.opt -- for conciseness
|
||||
|
||||
-- line numbers
|
||||
opt.relativenumber = true -- show relative line numbers
|
||||
opt.number = true -- shows absolute line number on cursor line (when relative number is on)
|
||||
|
||||
-- tabs & indentation
|
||||
opt.tabstop = 2 -- 2 spaces for tabs (prettier default)
|
||||
opt.shiftwidth = 2 -- 2 spaces for indent width
|
||||
opt.expandtab = true -- expand tab to spaces
|
||||
opt.autoindent = true -- copy indent from current line when starting new one
|
||||
|
||||
-- line wrapping
|
||||
opt.wrap = false -- disable line wrapping
|
||||
|
||||
-- search settings
|
||||
opt.ignorecase = true -- ignore case when searching
|
||||
opt.smartcase = true -- if you include mixed case in your search, assumes you want case-sensitive
|
||||
|
||||
-- cursor line
|
||||
opt.cursorline = true -- highlight the current cursor line
|
||||
|
||||
-- appearance
|
||||
|
||||
-- turn on termguicolors for nightfly colorscheme to work
|
||||
-- (have to use iterm2 or any other true color terminal)
|
||||
opt.termguicolors = true
|
||||
opt.background = "dark" -- colorschemes that can be light or dark will be made dark
|
||||
opt.signcolumn = "yes" -- show sign column so that text doesn't shift
|
||||
|
||||
-- backspace
|
||||
opt.backspace = "indent,eol,start" -- allow backspace on indent, end of line or insert mode start position
|
||||
|
||||
-- clipboard
|
||||
opt.clipboard:append("unnamedplus") -- use system clipboard as default register
|
||||
|
||||
-- split windows
|
||||
opt.splitright = true -- split vertical window to the right
|
||||
opt.splitbelow = true -- split horizontal window to the bottom
|
||||
|
||||
-- turn off swapfile
|
||||
opt.swapfile = false
|
||||
|
6
nvim/lua/plugins/blogutils.lua
Normal file
6
nvim/lua/plugins/blogutils.lua
Normal file
|
@ -0,0 +1,6 @@
|
|||
return {
|
||||
"chrishannah/blogutils.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
}
|
7
nvim/lua/plugins/colorscheme.lua
Normal file
7
nvim/lua/plugins/colorscheme.lua
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
return {
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
flavour = "frappe"
|
||||
}
|
245
nvim/lua/plugins/example.lua
Normal file
245
nvim/lua/plugins/example.lua
Normal file
|
@ -0,0 +1,245 @@
|
|||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "emoji" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, "😄")
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Use <tab> for completion and snippets (supertab)
|
||||
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
-- then: setup supertab in cmp
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-emoji",
|
||||
},
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local luasnip = require("luasnip")
|
||||
local cmp = require("cmp")
|
||||
|
||||
opts.mapping = vim.tbl_extend("force", opts.mapping, {
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
|
||||
-- this way you will only jump inside the snippet region
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
18
nvim/lua/plugins/markdown-preview.lua
Normal file
18
nvim/lua/plugins/markdown-preview.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
-- -- install without yarn or npm
|
||||
-- return {
|
||||
-- "iamcco/markdown-preview.nvim",
|
||||
-- cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
-- ft = { "markdown" },
|
||||
-- build = function() vim.fn["mkdp#util#install"]() end,
|
||||
-- }
|
||||
|
||||
--install with yarn or npm
|
||||
return {
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
build = "cd app && yarn install",
|
||||
init = function()
|
||||
vim.g.mkdp_filetypes = { "markdown" }
|
||||
end,
|
||||
ft = { "markdown" },
|
||||
}
|
5
nvim/lua/plugins/mdx.lua
Normal file
5
nvim/lua/plugins/mdx.lua
Normal file
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
"davidmh/mdx.nvim",
|
||||
config = true,
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
}
|
81
nvim/lua/plugins/multicursors.lua
Normal file
81
nvim/lua/plugins/multicursors.lua
Normal file
|
@ -0,0 +1,81 @@
|
|||
-- lazy.nvim:
|
||||
return {
|
||||
"brenton-leighton/multiple-cursors.nvim",
|
||||
version = "*", -- Use the latest tagged version
|
||||
opts = {}, -- This causes the plugin setup function to be called
|
||||
keys = {
|
||||
{
|
||||
"<C-j>",
|
||||
"<Cmd>MultipleCursorsAddDown<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Add cursor and move down",
|
||||
},
|
||||
{
|
||||
"<C-k>",
|
||||
"<Cmd>MultipleCursorsAddUp<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Add cursor and move up",
|
||||
},
|
||||
|
||||
{
|
||||
"<C-Up>",
|
||||
"<Cmd>MultipleCursorsAddUp<CR>",
|
||||
mode = { "n", "i", "x" },
|
||||
desc = "Add cursor and move up",
|
||||
},
|
||||
{
|
||||
"<C-Down>",
|
||||
"<Cmd>MultipleCursorsAddDown<CR>",
|
||||
mode = { "n", "i", "x" },
|
||||
desc = "Add cursor and move down",
|
||||
},
|
||||
|
||||
{
|
||||
"<C-LeftMouse>",
|
||||
"<Cmd>MultipleCursorsMouseAddDelete<CR>",
|
||||
mode = { "n", "i" },
|
||||
desc = "Add or remove cursor",
|
||||
},
|
||||
|
||||
{
|
||||
"<Leader>m",
|
||||
"<Cmd>MultipleCursorsAddVisualArea<CR>",
|
||||
mode = { "x" },
|
||||
desc = "Add cursors to the lines of the visual area",
|
||||
},
|
||||
|
||||
{
|
||||
"<Leader>a",
|
||||
"<Cmd>MultipleCursorsAddMatches<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Add cursors to cword",
|
||||
},
|
||||
{
|
||||
"<Leader>A",
|
||||
"<Cmd>MultipleCursorsAddMatchesV<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Add cursors to cword in previous area",
|
||||
},
|
||||
|
||||
{
|
||||
"<Leader>d",
|
||||
"<Cmd>MultipleCursorsAddJumpNextMatch<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Add cursor and jump to next cword",
|
||||
},
|
||||
{
|
||||
"<Leader>D",
|
||||
"<Cmd>MultipleCursorsJumpNextMatch<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Jump to next cword",
|
||||
},
|
||||
|
||||
{
|
||||
"<Leader>l",
|
||||
"<Cmd>MultipleCursorsLock<CR>",
|
||||
mode = { "n", "x" },
|
||||
desc = "Lock virtual cursors",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
9
nvim/lua/plugins/preview.lua
Normal file
9
nvim/lua/plugins/preview.lua
Normal file
|
@ -0,0 +1,9 @@
|
|||
return {
|
||||
"MeanderingProgrammer/render-markdown.nvim",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.nvim" }, -- if you use the mini.nvim suite
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
||||
---@module 'render-markdown'
|
||||
---@type render.md.UserConfig
|
||||
opts = {},
|
||||
}
|
3
nvim/lua/plugins/tmux.lua
Normal file
3
nvim/lua/plugins/tmux.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
{"christoomey/vim-tmux-navigator"}
|
||||
}
|
3
nvim/lua/plugins/wakatime.lua
Normal file
3
nvim/lua/plugins/wakatime.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
{"wakatime/vim-wakatime"}
|
||||
}
|
32
nvim/lua/plugins/yazi.lua
Normal file
32
nvim/lua/plugins/yazi.lua
Normal file
|
@ -0,0 +1,32 @@
|
|||
return {
|
||||
"mikavilpas/yazi.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
-- 👇 in this section, choose your own keymappings!
|
||||
{
|
||||
"<leader>-",
|
||||
mode = { "n", "v" },
|
||||
"<cmd>Yazi<cr>",
|
||||
desc = "Open yazi at the current file",
|
||||
},
|
||||
{
|
||||
-- Open in the current working directory
|
||||
"<leader>cw",
|
||||
"<cmd>Yazi cwd<cr>",
|
||||
desc = "Open the file manager in nvim's working directory",
|
||||
},
|
||||
{
|
||||
"<c-up>",
|
||||
"<cmd>Yazi toggle<cr>",
|
||||
desc = "Resume the last yazi session",
|
||||
},
|
||||
},
|
||||
|
||||
opts = {
|
||||
-- if you want to open yazi instead of netrw, see below for more info
|
||||
open_for_directories = false,
|
||||
keymaps = {
|
||||
show_help = "<f1>",
|
||||
},
|
||||
},
|
||||
}
|
4
nvim/stylua.toml
Normal file
4
nvim/stylua.toml
Normal file
|
@ -0,0 +1,4 @@
|
|||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 80
|
||||
|
77
ohmyposh/.mycat.omp.toml
Normal file
77
ohmyposh/.mycat.omp.toml
Normal file
|
@ -0,0 +1,77 @@
|
|||
console_title_template = '{{.Folder}}'
|
||||
version = 3
|
||||
final_space = true
|
||||
|
||||
[palette]
|
||||
blue = '#8CAAEE'
|
||||
closer = 'p:os'
|
||||
lavender = '#BABBF1'
|
||||
os = '#ACB0BE'
|
||||
pink = '#F4B8E4'
|
||||
|
||||
[[blocks]]
|
||||
type = 'prompt'
|
||||
alignment = 'left'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '{{.Icon}} '
|
||||
foreground = 'p:os'
|
||||
type = 'os'
|
||||
style = 'plain'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '{{ .Shell}} '
|
||||
foreground = 'p:blue'
|
||||
type = 'session'
|
||||
style = 'plain'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '{{ .Folder}} '
|
||||
foreground = 'p:pink'
|
||||
type = 'path'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
folder_icon = '..'
|
||||
hide_root_location = true
|
||||
home_icon = '~'
|
||||
max_depth = 1
|
||||
style = 'agnoster_short'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }} '
|
||||
foreground = 'p:lavender'
|
||||
type = 'git'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
branch_icon = ' '
|
||||
cherry_pick_icon = ' '
|
||||
commit_icon = ' '
|
||||
fetch_status = false
|
||||
fetch_upstream_icon = false
|
||||
merge_icon = ' '
|
||||
no_commits_icon = ' '
|
||||
rebase_icon = ' '
|
||||
revert_icon = ' '
|
||||
tag_icon = ' '
|
||||
|
||||
[[blocks.segments]]
|
||||
template = ''
|
||||
foreground = 'p:closer'
|
||||
type = 'text'
|
||||
style = 'plain'
|
||||
|
||||
[[blocks]]
|
||||
type = 'rprompt'
|
||||
overflow = 'hidden'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '{{ .FormattedMs }}'
|
||||
foreground = '#F47AD4'
|
||||
background = 'transparent'
|
||||
type = 'executiontime'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
threshold = 5000
|
78
ohmyposh/.mycat.omp.toml.bak
Normal file
78
ohmyposh/.mycat.omp.toml.bak
Normal file
|
@ -0,0 +1,78 @@
|
|||
#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json
|
||||
|
||||
version = 2
|
||||
final_space = true
|
||||
console_title_template = '{{.Folder}}'
|
||||
|
||||
[[blocks]]
|
||||
type = 'prompt'
|
||||
alignment = 'left'
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'os'
|
||||
style = 'plain'
|
||||
foreground = 'p:os'
|
||||
template = '{{.Icon}} '
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'session'
|
||||
style = 'plain'
|
||||
foreground = 'p:blue'
|
||||
template = '{{ .Shell}} '
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'path'
|
||||
style = 'plain'
|
||||
foreground = 'p:pink'
|
||||
template = '{{ .Folder}} '
|
||||
|
||||
[blocks.segments.properties]
|
||||
folder_icon = '..'
|
||||
home_icon = '~'
|
||||
style = 'agnoster_short'
|
||||
hide_root_location = true
|
||||
max_depth = 1
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'git'
|
||||
style = 'plain'
|
||||
foreground = 'p:lavender'
|
||||
template = '{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }} '
|
||||
|
||||
[blocks.segments.properties]
|
||||
branch_icon = ' '
|
||||
cherry_pick_icon = ' '
|
||||
commit_icon = ' '
|
||||
fetch_status = false
|
||||
fetch_upstream_icon = false
|
||||
merge_icon = ' '
|
||||
no_commits_icon = ' '
|
||||
rebase_icon = ' '
|
||||
revert_icon = ' '
|
||||
tag_icon = ' '
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'text'
|
||||
style = 'plain'
|
||||
foreground = 'p:closer'
|
||||
template = ''
|
||||
[[blocks]]
|
||||
type = 'rprompt'
|
||||
overflow = 'hidden'
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'executiontime'
|
||||
style = 'plain'
|
||||
foreground = '#F47AD4'
|
||||
background = 'transparent'
|
||||
template = '{{ .FormattedMs }}'
|
||||
|
||||
[blocks.segments.properties]
|
||||
threshold = 5000
|
||||
|
||||
[palette]
|
||||
blue = '#8CAAEE'
|
||||
closer = 'p:os'
|
||||
lavender = '#BABBF1'
|
||||
os = '#ACB0BE'
|
||||
pink = '#F4B8E4'
|
84
ohmyposh/mytheme.omp.json
Normal file
84
ohmyposh/mytheme.omp.json
Normal file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"blocks": [
|
||||
{
|
||||
"alignment": "left",
|
||||
"newline": true,
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#ffbebc",
|
||||
"leading_diamond": "<#ff70a6> \ue200 </>",
|
||||
"properties": {
|
||||
"display_host": true
|
||||
},
|
||||
"style": "plain",
|
||||
"template": "{{ .PWD }} <#ffffff>on</>",
|
||||
"type": "session"
|
||||
},
|
||||
{
|
||||
"foreground": "#bc93ff",
|
||||
"properties": {
|
||||
"time_format": "Monday <#ffffff>at</> 3:04 PM"
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": " {{ .CurrentDate | date .Format }} ",
|
||||
"type": "time"
|
||||
},
|
||||
{
|
||||
"foreground": "#ee79d1",
|
||||
"properties": {
|
||||
"branch_icon": "\ue725 ",
|
||||
"fetch_stash_count": true,
|
||||
"fetch_status": true,
|
||||
"fetch_upstream_icon": true,
|
||||
"fetch_worktree_count": true
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}",
|
||||
"type": "git"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
},
|
||||
{
|
||||
"alignment": "left",
|
||||
"newline": true,
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#ffafd2",
|
||||
"leading_diamond": "<#00c7fc> \ue285 </><#ffafd2>{</>",
|
||||
"properties": {
|
||||
"folder_icon": "\uf07b",
|
||||
"folder_separator_icon": "..",
|
||||
"home_icon": "home",
|
||||
"style": "full"
|
||||
},
|
||||
"style": "plain",
|
||||
"template": " \ue5ff {{ .Path }} ",
|
||||
"trailing_diamond": "<#ffafd2>}</>",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"foreground": "#A9FFB4",
|
||||
"foreground_templates": [
|
||||
"{{ if gt .Code 0 }}#ef5350{{ end }}"
|
||||
],
|
||||
"properties": {
|
||||
"always_enabled": true
|
||||
},
|
||||
"style": "plain",
|
||||
"template": " \ue286 ",
|
||||
"type": "status"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
}
|
||||
],
|
||||
"console_title_template": "{{ .Folder }}",
|
||||
"transient_prompt": {
|
||||
"background": "transparent",
|
||||
"foreground": "#FEF5ED",
|
||||
"template": "\ue285 "
|
||||
},
|
||||
"version": 2
|
||||
}
|
24
ohmyposh/posh.toml
Normal file
24
ohmyposh/posh.toml
Normal file
|
@ -0,0 +1,24 @@
|
|||
"$schema" = "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json"
|
||||
|
||||
version = 2
|
||||
final_space = true
|
||||
console_title_template = '{{.Folder}}'
|
||||
|
||||
|
||||
[[blocks]]
|
||||
type = 'prompt'
|
||||
alignment = 'left'
|
||||
newline = true
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'path'
|
||||
style = 'plain'
|
||||
template = '{{ .RootDir }}'
|
||||
|
||||
[blocks.segments.properties]
|
||||
style = 'full'
|
||||
|
||||
[transient_prompt]
|
||||
foreground = "#F4B8E4"
|
||||
background = 'transparent'
|
||||
template = '❯ '
|
18
setup.sh
18
setup.sh
|
@ -12,8 +12,7 @@ cat << EOF
|
|||
|
||||
EOF
|
||||
|
||||
|
||||
CONFIGS="cava kitty dunst fastfetch pacseek hypr hypridle rofi starship tmux waybar yazi"
|
||||
CONFIGS="cava ghostty dunst fastfetch pacseek hypr hypridle rofi starship zellij waybar yazi"
|
||||
BACKUP_DIR="$HOME/.config_backup"
|
||||
LOCAL_BIN="$HOME/.local/bin"
|
||||
FONT_DIR="$HOME/.local/share/fonts"
|
||||
|
@ -92,8 +91,14 @@ mkdir -p ~/Pictures/Wallpaper
|
|||
# Install yay if not already installed
|
||||
if ! command -v yay &>/dev/null; then
|
||||
echo "==> Installing AUR package manager (yay)..."
|
||||
sudo pacman -S --needed git base-devel || { echo "❌ Failed to install base-devel"; exit 1; }
|
||||
git clone https://aur.archlinux.org/yay.git ~/yay && cd ~/yay && makepkg -si || { echo "❌ yay installation failed"; exit 1; }
|
||||
sudo pacman -S --needed git base-devel || {
|
||||
echo "❌ Failed to install base-devel"
|
||||
exit 1
|
||||
}
|
||||
git clone https://aur.archlinux.org/yay.git ~/yay && cd ~/yay && makepkg -si || {
|
||||
echo "❌ yay installation failed"
|
||||
exit 1
|
||||
}
|
||||
cd ~
|
||||
else
|
||||
echo "✔️ yay is already installed."
|
||||
|
@ -106,9 +111,13 @@ pacseek \
|
|||
zoxide \
|
||||
fzf \
|
||||
unzip \
|
||||
ghostty \
|
||||
ghostty-terminfo \
|
||||
ghostty-shell-integration \
|
||||
zsh \
|
||||
starship \
|
||||
atuin \
|
||||
zellij \
|
||||
eza \
|
||||
acpi \
|
||||
playerctl \
|
||||
|
@ -147,6 +156,7 @@ echo "==> Configuring Zsh plugins and tools..."
|
|||
echo "source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh"
|
||||
echo 'eval "$(zoxide init zsh)"'
|
||||
echo 'eval "$(atuin init zsh)"'
|
||||
echo 'eval "$(zellij setup --generate-auto-start zsh)"'
|
||||
echo 'eval "$(starship init zsh)"'
|
||||
} >>"$ZSHRC"
|
||||
|
||||
|
|
1
uv/uv-receipt.json
Normal file
1
uv/uv-receipt.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"binaries":["uv","uvx"],"binary_aliases":{},"cdylibs":[],"cstaticlibs":[],"install_layout":"flat","install_prefix":"/Users/tiffanywhite/.local/bin","modify_path":true,"provider":{"source":"cargo-dist","version":"0.27.0"},"source":{"app_name":"uv","name":"uv","owner":"astral-sh","release_type":"github"},"version":"0.5.14"}
|
375
zellij/config.kdl
Normal file
375
zellij/config.kdl
Normal file
|
@ -0,0 +1,375 @@
|
|||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
||||
keybinds {
|
||||
normal {
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
locked {
|
||||
bind "Ctrl g" { SwitchToMode "Normal"; }
|
||||
}
|
||||
resize {
|
||||
bind "Ctrl n" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { Resize "Increase Left"; }
|
||||
bind "j" "Down" { Resize "Increase Down"; }
|
||||
bind "k" "Up" { Resize "Increase Up"; }
|
||||
bind "l" "Right" { Resize "Increase Right"; }
|
||||
bind "H" { Resize "Decrease Left"; }
|
||||
bind "J" { Resize "Decrease Down"; }
|
||||
bind "K" { Resize "Decrease Up"; }
|
||||
bind "L" { Resize "Decrease Right"; }
|
||||
bind "=" "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
}
|
||||
pane {
|
||||
bind "Ctrl p" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "l" "Right" { MoveFocus "Right"; }
|
||||
bind "j" "Down" { MoveFocus "Down"; }
|
||||
bind "k" "Up" { MoveFocus "Up"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "n" { NewPane; SwitchToMode "Normal"; }
|
||||
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
||||
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
||||
}
|
||||
move {
|
||||
bind "Ctrl h" { SwitchToMode "Normal"; }
|
||||
bind "n" "Tab" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "h" "Left" { MovePane "Left"; }
|
||||
bind "j" "Down" { MovePane "Down"; }
|
||||
bind "k" "Up" { MovePane "Up"; }
|
||||
bind "l" "Right" { MovePane "Right"; }
|
||||
}
|
||||
tab {
|
||||
bind "Ctrl t" { SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
||||
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
||||
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "Normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
||||
bind "Tab" { ToggleTab; }
|
||||
}
|
||||
scroll {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
search {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
|
||||
bind "Enter" { SwitchToMode "Search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
||||
}
|
||||
session {
|
||||
bind "Ctrl o" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
bind "d" { Detach; }
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
};
|
||||
SwitchToMode "Normal"
|
||||
}
|
||||
}
|
||||
tmux {
|
||||
bind "[" { SwitchToMode "Scroll"; }
|
||||
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
|
||||
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "," { SwitchToMode "RenameTab"; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
||||
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "d" { Detach; }
|
||||
bind "Space" { NextSwapLayout; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Ctrl g" { SwitchToMode "Locked"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt i" { MoveTab "Left"; }
|
||||
bind "Alt o" { MoveTab "Right"; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
bind "Ctrl y" {
|
||||
LaunchOrFocusPlugin "file:~/.config/zellij/plugins/room.wasm" {
|
||||
floating true
|
||||
ignore_case true
|
||||
quick_jump true
|
||||
}
|
||||
}
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "pane" "locked" {
|
||||
bind "Ctrl p" { SwitchToMode "Pane"; }
|
||||
}
|
||||
shared_except "resize" "locked" {
|
||||
bind "Ctrl n" { SwitchToMode "Resize"; }
|
||||
}
|
||||
shared_except "scroll" "locked" {
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
}
|
||||
shared_except "session" "locked" {
|
||||
bind "Ctrl o" { SwitchToMode "Session"; }
|
||||
}
|
||||
shared_except "tab" "locked" {
|
||||
bind "Ctrl t" { SwitchToMode "Tab"; }
|
||||
}
|
||||
shared_except "move" "locked" {
|
||||
bind "Ctrl h" { SwitchToMode "Move"; }
|
||||
}
|
||||
shared_except "tmux" "locked" {
|
||||
bind "Ctrl b" { SwitchToMode "Tmux"; }
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
tab-bar location="zellij:tab-bar"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
compact-bar location="zellij:compact-bar"
|
||||
session-manager location="zellij:session-manager"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
filepicker location="zellij:strider" {
|
||||
cwd "/"
|
||||
}
|
||||
}
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd ""
|
||||
|
||||
// Toggle between having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// pane_frames true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout true
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
// serialize_pane_viewport true
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
//
|
||||
|
||||
scrollback_lines_to_serialize 10000
|
||||
|
||||
// Define color themes for Zellij
|
||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
||||
//
|
||||
// themes {
|
||||
// dracula {
|
||||
// fg 248 248 242
|
||||
// bg 40 42 54
|
||||
// red 255 85 85
|
||||
// green 80 250 123
|
||||
// yellow 241 250 140
|
||||
// blue 98 114 164
|
||||
// magenta 255 121 198
|
||||
// orange 255 184 108
|
||||
// cyan 139 233 253
|
||||
// black 0 0 0
|
||||
// white 255 255 255
|
||||
// }
|
||||
// }
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
theme "catppuccin-frappe"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// Choose the mode that zellij uses when starting up.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// mouse_mode true
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
|
||||
scroll_buffer_size 10000
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
// that will be used by default if this option is not set.
|
||||
// Examples:
|
||||
//
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select false
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
//
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
//
|
||||
|
||||
layout_dir "~/dotfiles/zellij/config/layouts"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
//
|
||||
// theme_dir "/path/to/my/theme_dir"
|
||||
|
||||
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||
// May need to be disabled for certain unsupported terminals
|
||||
// Default: true
|
||||
//
|
||||
// styled_underlines false
|
||||
|
||||
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||
// metadata info on this session)
|
||||
// Default: false
|
||||
//
|
||||
// disable_session_metadata true
|
12
zellij/config/default.kdl
Normal file
12
zellij/config/default.kdl
Normal file
|
@ -0,0 +1,12 @@
|
|||
layout {
|
||||
pane split_direction="vertical" {
|
||||
pane
|
||||
pane split_direction="horizontal" {
|
||||
pane
|
||||
pane
|
||||
}
|
||||
}
|
||||
pane size=1 borderless=true {
|
||||
plugin location="zellij:compact-bar"
|
||||
}
|
||||
}
|
12
zellij/config/layouts/default.kdl
Normal file
12
zellij/config/layouts/default.kdl
Normal file
|
@ -0,0 +1,12 @@
|
|||
layout {
|
||||
pane split_direction="vertical" {
|
||||
pane
|
||||
pane split_direction="horizontal" {
|
||||
pane
|
||||
pane
|
||||
}
|
||||
}
|
||||
pane size=1 borderless=true {
|
||||
plugin location="zellij:compact-bar"
|
||||
}
|
||||
}
|
1
zellij/plugins/harpoon
Submodule
1
zellij/plugins/harpoon
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit d3284615ba5063c73e0c1729edf5b10b46aead5e
|
BIN
zellij/plugins/harpoon.wasm
Executable file
BIN
zellij/plugins/harpoon.wasm
Executable file
Binary file not shown.
BIN
zellij/plugins/monocle.wasm
Normal file
BIN
zellij/plugins/monocle.wasm
Normal file
Binary file not shown.
BIN
zellij/plugins/room.wasm
Normal file
BIN
zellij/plugins/room.wasm
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue