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
|
vim.deprecate = function() end ---@diagnostic disable-line: duplicate-set-field
|
||||||
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
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")
|
require("config.lazy")
|
||||||
|
|
|
@ -1,46 +1,61 @@
|
||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
|
||||||
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
"SchemaStore.nvim": { "branch": "main", "commit": "98543263f95dd191fd6d3b08500680d18bebe214" },
|
||||||
"auto-session": { "branch": "main", "commit": "021b64ed7d4ac68a37be3ad28d8e1cba5bec582c" },
|
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
||||||
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
|
"blogutils.nvim": { "branch": "master", "commit": "f68fb20f56b11b8ee0ecaa8c498764b7573bf9e6" },
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
"cmake-tools.nvim": { "branch": "master", "commit": "d4eb7638f6048a1701dedb0cf3891e7238ec3ce1" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
|
||||||
"copilot.vim": { "branch": "release", "commit": "87038123804796ca7af20d1b71c3428d858a9124" },
|
"crates.nvim": { "branch": "main", "commit": "5d8b1bef686db0fabe5f1bb593744b617e8f1405" },
|
||||||
"dressing.nvim": { "branch": "master", "commit": "3a45525bb182730fe462325c99395529308f431e" },
|
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "d8918f06624dd53b9a82bd0e29c31bcfd541b40d" },
|
"fzf-lua": { "branch": "main", "commit": "39c55811772d61751d8e5206e8746e0e3ec95f64" },
|
||||||
"image.nvim": { "branch": "master", "commit": "b991fc7f845bc6ab40c6ec00b39750dcd5190010" },
|
"grug-far.nvim": { "branch": "main", "commit": "e152f6f4c4261e177a5417dce0980d3a88cc6ce1" },
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
"inc-rename.nvim": { "branch": "main", "commit": "a3e31af13844534c66041ce92f29af7745883875" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
|
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||||
"lazygit.nvim": { "branch": "main", "commit": "77a0d42943d8265271e6e6beaed72da54eeb17e7" },
|
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||||
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" },
|
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
"mdx.nvim": { "branch": "main", "commit": "464a74be368dce212cff02f6305845dc7f209ab3" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
"mini.ai": { "branch": "main", "commit": "95e9d77e58bdf633c4d0c6b8c72892dd10eada51" },
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "ed8f80849ef1ad31c2f74679fafdef7801091247" },
|
"mini.comment": { "branch": "main", "commit": "22ee9f6be1c78bcebe009a564758e5b6df08903b" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
"mini.diff": { "branch": "main", "commit": "f7bcd3cb4561f7d3a02ae9afafeda899c82f7108" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
"mini.files": { "branch": "main", "commit": "49c855977e9f4821d1ed8179ed44fe098b93ea2a" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
|
"mini.hipatterns": { "branch": "main", "commit": "e5083df391171dc9d8172645606f8496d9443374" },
|
||||||
"nvim-dap": { "branch": "master", "commit": "ead0de6eac91a555b714bfd7d28959eeecfb96f9" },
|
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "e94d98649dccb6a3884b66aabc2e07beb279e535" },
|
"mini.nvim": { "branch": "main", "commit": "35e1767f4cd7dde51256eabae7349a5283a43cba" },
|
||||||
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
|
"mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
|
"mini.snippets": { "branch": "main", "commit": "6f0de3c3f97a8c015f99619f72edf9b2880b6886" },
|
||||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
"mini.surround": { "branch": "main", "commit": "365f98d842face0876e95f05d6e48fbfcc08e351" },
|
||||||
"nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
|
"multiple-cursors.nvim": { "branch": "main", "commit": "1ac15d047a4b265cc2389957bcc56ee561b29e02" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "043d5fb1505ca4bc0f48b42666ae7ebc4bb1a671" },
|
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "4adeeaa7a32d46cf3b5833341358c797304f950a" },
|
"nvim-lint": { "branch": "master", "commit": "cc26ae6a620298bb3f33b0e0681f99a10ae57781" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
"nvim-lspconfig": { "branch": "master", "commit": "a182334ba933e58240c2c45e6ae2d9c7ae313e00" },
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "0f051e9813a36481f48ca1f833897210dbcfffde" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
|
"octo.nvim": { "branch": "master", "commit": "3ee802ce8486c2a07d0219a12544433b9c95ad35" },
|
||||||
"vim-fugitive": { "branch": "master", "commit": "174230d6a7f2df94705a7ffd8d5413e27ec10a80" },
|
"outline.nvim": { "branch": "main", "commit": "321f89ef79f168a78685f70d70c52d0e7b563abb" },
|
||||||
"vim-tmux-navigator": { "branch": "master", "commit": "d847ea942a5bb4d4fab6efebc9f30d787fd96e65" },
|
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" }
|
"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"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
-- bootstrap lazy.nvim
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
-- stylua: ignore
|
||||||
if vim.v.shell_error ~= 0 then
|
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||||
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
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||||
|
vim.deprecate = function() end ---@diagnostic disable-line: duplicate-set-field
|
||||||
-- Setup lazy.nvim
|
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
ui = {
|
spec = {
|
||||||
-- a number <1 is a percentage., >1 is a fixed size
|
-- add LazyVim and import its plugins
|
||||||
size = { width = 0.6, height = 0.6 },
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||||
-- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
|
-- import any extras modules here
|
||||||
border = "rounded",
|
-- { import = "lazyvim.plugins.extras.lang.typescript" },
|
||||||
},
|
-- { import = "lazyvim.plugins.extras.lang.json" },
|
||||||
spec = {
|
-- { import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||||
-- import your plugins
|
-- import/override with your plugins
|
||||||
{ import = "config.plugins.auto-completion" },
|
{ import = "plugins" },
|
||||||
{ import = "config.plugins.core" },
|
-- { import = "plugins.lsp"}
|
||||||
{ import = "config.plugins.git" },
|
},
|
||||||
{ import = "config.plugins.lsp" },
|
defaults = {
|
||||||
{ import = "config.plugins.qol" },
|
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||||
{ import = "config.plugins.ui" },
|
-- 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,
|
||||||
-- Configure any other settings here. See the documentation for more details.
|
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||||
-- colorscheme that will be used when installing plugins.
|
-- have outdated releases, which may break your Neovim install.
|
||||||
install = { colorscheme = { "catppuccin" } },
|
version = false, -- always use the latest git commit
|
||||||
-- automatically check for plugin updates
|
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||||
checker = { enabled = true },
|
},
|
||||||
|
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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
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 = '❯ '
|
138
setup.sh
138
setup.sh
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
cat << EOF
|
cat <<EOF
|
||||||
_________ __ ____ ___
|
_________ __ ____ ___
|
||||||
/ _____/ _____/ |_| | \______
|
/ _____/ _____/ |_| | \______
|
||||||
\_____ \_/ __ \ __\ | /\____ \
|
\_____ \_/ __ \ __\ | /\____ \
|
||||||
|
@ -12,8 +12,7 @@ cat << EOF
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
CONFIGS="cava ghostty dunst fastfetch pacseek hypr hypridle rofi starship zellij waybar yazi"
|
||||||
CONFIGS="cava kitty dunst fastfetch pacseek hypr hypridle rofi starship tmux waybar yazi"
|
|
||||||
BACKUP_DIR="$HOME/.config_backup"
|
BACKUP_DIR="$HOME/.config_backup"
|
||||||
LOCAL_BIN="$HOME/.local/bin"
|
LOCAL_BIN="$HOME/.local/bin"
|
||||||
FONT_DIR="$HOME/.local/share/fonts"
|
FONT_DIR="$HOME/.local/share/fonts"
|
||||||
|
@ -22,11 +21,11 @@ DOTS_DIR="$HOME/hyprdots"
|
||||||
echo "==> Backing up existing config files..."
|
echo "==> Backing up existing config files..."
|
||||||
mkdir -p "$BACKUP_DIR"
|
mkdir -p "$BACKUP_DIR"
|
||||||
for dir in $CONFIGS; do
|
for dir in $CONFIGS; do
|
||||||
if [ -d "$HOME/.config/$dir" ]; then
|
if [ -d "$HOME/.config/$dir" ]; then
|
||||||
echo "=> Backing up $dir to $BACKUP_DIR"
|
echo "=> Backing up $dir to $BACKUP_DIR"
|
||||||
cp -r "$HOME/.config/$dir" "$BACKUP_DIR/$dir"
|
cp -r "$HOME/.config/$dir" "$BACKUP_DIR/$dir"
|
||||||
rm -rf "$HOME/.config/$dir"
|
rm -rf "$HOME/.config/$dir"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "==> Copying new config files..."
|
echo "==> Copying new config files..."
|
||||||
|
@ -53,17 +52,17 @@ mkdir -p "$FA_DIR"
|
||||||
|
|
||||||
echo "==> Installing Font Awesome (v5 & v6)..."
|
echo "==> Installing Font Awesome (v5 & v6)..."
|
||||||
if [[ ! -f "$FA_DIR/fa-brands-400.ttf" ]]; then
|
if [[ ! -f "$FA_DIR/fa-brands-400.ttf" ]]; then
|
||||||
wget -q https://use.fontawesome.com/releases/v6.7.2/fontawesome-free-6.7.2-desktop.zip
|
wget -q https://use.fontawesome.com/releases/v6.7.2/fontawesome-free-6.7.2-desktop.zip
|
||||||
unzip -q fontawesome-free-6.7.2-desktop.zip
|
unzip -q fontawesome-free-6.7.2-desktop.zip
|
||||||
mv fontawesome-free-6.7.2-desktop/otfs/*.otf "$FA_DIR/"
|
mv fontawesome-free-6.7.2-desktop/otfs/*.otf "$FA_DIR/"
|
||||||
rm -rf fontawesome-free-6.7.2-desktop*
|
rm -rf fontawesome-free-6.7.2-desktop*
|
||||||
|
|
||||||
wget -q https://use.fontawesome.com/releases/v5.15.4/fontawesome-free-5.15.4-desktop.zip
|
wget -q https://use.fontawesome.com/releases/v5.15.4/fontawesome-free-5.15.4-desktop.zip
|
||||||
unzip -q fontawesome-free-5.15.4-desktop.zip
|
unzip -q fontawesome-free-5.15.4-desktop.zip
|
||||||
mv fontawesome-free-5.15.4-desktop/otfs/*.otf "$FA_DIR/"
|
mv fontawesome-free-5.15.4-desktop/otfs/*.otf "$FA_DIR/"
|
||||||
rm -rf fontawesome-free-5.15.4-desktop*
|
rm -rf fontawesome-free-5.15.4-desktop*
|
||||||
else
|
else
|
||||||
echo "✔️ Font Awesome already installed, skipping."
|
echo "✔️ Font Awesome already installed, skipping."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# JetBrains Nerd Font Installation
|
# JetBrains Nerd Font Installation
|
||||||
|
@ -72,12 +71,12 @@ mkdir -p "$JB_FONT_DIR"
|
||||||
|
|
||||||
echo "==> Installing JetBrains Nerd Fonts..."
|
echo "==> Installing JetBrains Nerd Fonts..."
|
||||||
if [[ ! -f "$JB_FONT_DIR/JetBrainsMono-Regular.ttf" ]]; then
|
if [[ ! -f "$JB_FONT_DIR/JetBrainsMono-Regular.ttf" ]]; then
|
||||||
wget -q https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/JetBrainsMono.zip
|
wget -q https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/JetBrainsMono.zip
|
||||||
unzip -q JetBrainsMono.zip -d JetBrainsMono
|
unzip -q JetBrainsMono.zip -d JetBrainsMono
|
||||||
mv JetBrainsMono/*.ttf "$JB_FONT_DIR/"
|
mv JetBrainsMono/*.ttf "$JB_FONT_DIR/"
|
||||||
rm -rf JetBrainsMono JetBrainsMono.zip
|
rm -rf JetBrainsMono JetBrainsMono.zip
|
||||||
else
|
else
|
||||||
echo "✔️ JetBrains Nerd Font already installed, skipping."
|
echo "✔️ JetBrains Nerd Font already installed, skipping."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "==> Refreshing font cache..."
|
echo "==> Refreshing font cache..."
|
||||||
|
@ -91,63 +90,74 @@ mkdir -p ~/Pictures/Wallpaper
|
||||||
|
|
||||||
# Install yay if not already installed
|
# Install yay if not already installed
|
||||||
if ! command -v yay &>/dev/null; then
|
if ! command -v yay &>/dev/null; then
|
||||||
echo "==> Installing AUR package manager (yay)..."
|
echo "==> Installing AUR package manager (yay)..."
|
||||||
sudo pacman -S --needed git base-devel || { echo "❌ Failed to install base-devel"; exit 1; }
|
sudo pacman -S --needed git base-devel || {
|
||||||
git clone https://aur.archlinux.org/yay.git ~/yay && cd ~/yay && makepkg -si || { echo "❌ yay installation failed"; exit 1; }
|
echo "❌ Failed to install base-devel"
|
||||||
cd ~
|
exit 1
|
||||||
|
}
|
||||||
|
git clone https://aur.archlinux.org/yay.git ~/yay && cd ~/yay && makepkg -si || {
|
||||||
|
echo "❌ yay installation failed"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
cd ~
|
||||||
else
|
else
|
||||||
echo "✔️ yay is already installed."
|
echo "✔️ yay is already installed."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install useful packages from pacman and AUR
|
# Install useful packages from pacman and AUR
|
||||||
echo "==> Installing core packages..."
|
echo "==> Installing core packages..."
|
||||||
yay -S --noconfirm \
|
yay -S --noconfirm \
|
||||||
pacseek \
|
pacseek \
|
||||||
zoxide \
|
zoxide \
|
||||||
fzf \
|
fzf \
|
||||||
unzip \
|
unzip \
|
||||||
zsh \
|
ghostty \
|
||||||
starship \
|
ghostty-terminfo \
|
||||||
atuin \
|
ghostty-shell-integration \
|
||||||
eza \
|
zsh \
|
||||||
acpi \
|
starship \
|
||||||
playerctl \
|
atuin \
|
||||||
zsh-autosuggestions \
|
zellij \
|
||||||
zsh-syntax-highlighting \
|
eza \
|
||||||
zsh-history-substring-search
|
acpi \
|
||||||
|
playerctl \
|
||||||
|
zsh-autosuggestions \
|
||||||
|
zsh-syntax-highlighting \
|
||||||
|
zsh-history-substring-search
|
||||||
|
|
||||||
sudo pacman -S --noconfirm \
|
sudo pacman -S --noconfirm \
|
||||||
dunst \
|
dunst \
|
||||||
libnotify \
|
libnotify \
|
||||||
waybar \
|
waybar \
|
||||||
wl-clipboard \
|
wl-clipboard \
|
||||||
xdg-desktop-portal-hyprland \
|
xdg-desktop-portal-hyprland \
|
||||||
xdg-desktop-portal \
|
xdg-desktop-portal \
|
||||||
brightnessctl \
|
brightnessctl \
|
||||||
pavucontrol \
|
pavucontrol \
|
||||||
tmux \
|
tmux \
|
||||||
slurp \
|
slurp \
|
||||||
grim \
|
grim \
|
||||||
hyprlock \
|
hyprlock \
|
||||||
pamixer
|
pamixer
|
||||||
|
|
||||||
# Set zsh as default shell if not already
|
# Set zsh as default shell if not already
|
||||||
if [[ "$SHELL" != "$(which zsh)" ]]; then
|
if [[ "$SHELL" != "$(which zsh)" ]]; then
|
||||||
echo "==> Changing default shell to zsh..."
|
echo "==> Changing default shell to zsh..."
|
||||||
chsh -s "$(which zsh)"
|
chsh -s "$(which zsh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ensure Zsh plugins and tools are sourced in .zshrc
|
# Ensure Zsh plugins and tools are sourced in .zshrc
|
||||||
ZSHRC="$HOME/.zshrc"
|
ZSHRC="$HOME/.zshrc"
|
||||||
echo "==> Configuring Zsh plugins and tools..."
|
echo "==> Configuring Zsh plugins and tools..."
|
||||||
{
|
{
|
||||||
echo -e "\n# Zsh Plugins and Tools"
|
echo -e "\n# Zsh Plugins and Tools"
|
||||||
echo "source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"
|
echo "source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"
|
||||||
echo "source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
echo "source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||||
echo "source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh"
|
echo "source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh"
|
||||||
echo 'eval "$(zoxide init zsh)"'
|
echo 'eval "$(zoxide init zsh)"'
|
||||||
echo 'eval "$(atuin init zsh)"'
|
echo 'eval "$(atuin init zsh)"'
|
||||||
echo 'eval "$(starship init zsh)"'
|
echo 'eval "$(zellij setup --generate-auto-start zsh)"'
|
||||||
} >> "$ZSHRC"
|
echo 'eval "$(starship init zsh)"'
|
||||||
|
} >>"$ZSHRC"
|
||||||
|
|
||||||
echo -e "\n✅ All packages and Zsh plugins configured successfully!"
|
echo -e "\n✅ All packages and Zsh plugins configured successfully!"
|
||||||
|
|
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