diff --git a/.bashrc b/.bashrc deleted file mode 100644 index 55523f0..0000000 --- a/.bashrc +++ /dev/null @@ -1,82 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -roundseconds () { - echo m=$1";h=0.5;scale=4;t=1000;if(m<0) h=-0.5;a=m*t+h;scale=3;a/t;" | bc -} - -# Function to get the start time in nanoseconds -bash_getstarttime () { - date +%s.%N > "/dev/shm/${USER}.bashtime.${1}" -} - -bash_getstoptime () { - local endtime=$(date +%s.%N) - local starttime=$(cat /dev/shm/${USER}.bashtime.${1}) - local duration=$(roundseconds $(echo $(eval echo "$endtime - $starttime") | bc)) - - # Only return time if duration is greater than 0.2 seconds - if (( $(echo "$duration > 0.2" | bc -l) )); then - echo "took ${duration}s" - else - echo "" - fi -} - -parse_git_branch() { - git branch 2>/dev/null | grep '^*' | colrm 1 2 -} - -# Initialize the root PID and start time -ROOTPID=$BASHPID -bash_getstarttime $ROOTPID - -# Set PS0 to record the start time -PS0='$(bash_getstarttime $ROOTPID)' - -prompt_command() { - local exec_time=$(bash_getstoptime $ROOTPID) - if [[ -n "$exec_time" ]]; then - PS1='\[\033[36m\]'"$exec_time"'\n' - else - PS1='' - fi - - PS1+='\[\e[1;32m\]\u\[\e[0m\]@\[\e[1;94m\]\h \[\e[1;95m\]\w\[\e[1;33m\]$([[ $(parse_git_branch) ]] && echo " [$(parse_git_branch)]")\[\e[0m\]' - - #h that's what I was tYu Add virtual environment if exists - if [[ -n "$VIRTUAL_ENV" ]]; then - PS1+="\[\e[1;35m\]($(basename $VIRTUAL_ENV)) \[\e[0m\]" - fi - - # Root indicator - if [[ $EUID -eq 0 ]]; then - PS1+="\[\e[1;31m\]# \[\e[0m\]" - else - PS1+="\[\e[0;0m\]\$ \[\e[0m\]" - fi -} - -PROMPT_COMMAND=prompt_command - -# PS1='\[\033[32m\]\u\[\033[0m\]@\[\033[94m\]\h \[\033[95m\033[3m\]\W\[\033[0m\]$ ' - -[ -f ~/.fzf.bash ] && source ~/.fzf.bash - -alias ..='cd ..' -alias cls='clear' -alias explorer='nautilus' -alias vencord='sh -c "$(curl -sS https://raw.githubusercontent.com/Vendicated/VencordInstaller/main/install.sh)"' -alias apps='cd ~/.local/share/applications/' -alias tasklist='ps -aux' -alias louis='ssh anton@192.168.178.48' -alias la='ls -a --color=auto' -alias ls='ls --color=auto' -alias grep='grep --color=auto' -# WG -alias wgon='wg-quick up ~/Downloads/wg0.conf' -alias wgoff='wg-quick down ~/Downloads/wg0.conf' diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index d6be6c9..ccd7ce4 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -734,7 +734,7 @@ cursor_blink_interval 0.5 #: Terminal bell {{{ -# enable_audio_bell yes +enable_audio_bell no #: The audio bell. Useful to disable it in environments that require #: silence. diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index c4413a8..af45904 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, + "LuaSnip": { "branch": "master", "commit": "7552e6504ee95a9c8cfc6db53e389122ded46cd4" }, "actions-preview.nvim": { "branch": "master", "commit": "9f52a01c374318e91337697ebed51c6fae57f8a4" }, "cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, @@ -10,20 +10,20 @@ "lsp-zero.nvim": { "branch": "v3.x", "commit": "56db3d5ce5476b183783160e6045f7337ba12b83" }, "lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" }, "lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" }, - "markview.nvim": { "branch": "main", "commit": "8537f7f03e4683b9ef98202e7a0286373a5b7135" }, + "markview.nvim": { "branch": "main", "commit": "d0ccc97b5c988fb28e5033abdf7b832b9dfaf897" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "ba9c2f0b93deb48d0a99ae0e8d8dd36f7cc286d6" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "monokai-pro.nvim": { "branch": "master", "commit": "2bad2a92fe0ff6c8581d33a853a1b17592b83239" }, - "nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lspconfig": { "branch": "master", "commit": "fdc44768a09a65140aa00c92872a5381ad486485" }, - "nvim-treesitter": { "branch": "master", "commit": "a7ba147b4b51631f7cf7d9da56f7d5763073b18d" }, - "nvim-ufo": { "branch": "main", "commit": "1b5f2838099f283857729e820cc05e2b19df7a2c" }, + "nvim-lspconfig": { "branch": "master", "commit": "e6528f4613c8db2e04be908eb2b5886d63f62a98" }, + "nvim-treesitter": { "branch": "master", "commit": "a7a3b9c10e8a5fe0da05ebb65db3ed1d164e612d" }, + "nvim-ufo": { "branch": "main", "commit": "4cc3ba9303c0708b81fd681786a4835fd31518ac" }, "nvim-web-devicons": { "branch": "master", "commit": "5be6c4e685618b99c3210a69375b38a1202369b4" }, - "oil.nvim": { "branch": "master", "commit": "71c972fbd218723a3c15afcb70421f67340f5a6d" }, + "oil.nvim": { "branch": "master", "commit": "fcca212c2e966fc3dec1d4baf888e670631d25d1" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, - "rustaceanvim": { "branch": "master", "commit": "e539aa2494460e4cf51df1c7ac6fb16549408f79" }, - "telescope.nvim": { "branch": "master", "commit": "10b8a82b042caf50b78e619d92caf0910211973d" }, + "promise-async": { "branch": "main", "commit": "038d05664fedc920ba86720214c84a15ff7432b0" }, + "rustaceanvim": { "branch": "master", "commit": "7da155a907e3f48b1f7c25c59e248996fba833df" }, + "telescope.nvim": { "branch": "master", "commit": "3b1600d0fd5172ad9fae00987362ca0ef3d8895d" }, "todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" } } diff --git a/.config/nvim/lua/BluePlum/keymap.lua b/.config/nvim/lua/BluePlum/keymap.lua index e48cb73..95656dc 100644 --- a/.config/nvim/lua/BluePlum/keymap.lua +++ b/.config/nvim/lua/BluePlum/keymap.lua @@ -11,7 +11,7 @@ vim.keymap.set('v', 'y', '"+y') vim.keymap.set('n', 'Q', '') -- terminal -vim.keymap.set('n', 't', ':terminal ') +vim.keymap.set('n', 't', ':term') vim.keymap.set('t', '', '') -- nice additions diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua index a24da9e..792041a 100644 --- a/.config/nvim/lua/lsp.lua +++ b/.config/nvim/lua/lsp.lua @@ -29,7 +29,6 @@ require('mason').setup({}) require('mason-lspconfig').setup({ ensure_installed = { 'lua_ls', - 'tsserver', }, handlers = { -- zero.default_setup, diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..7aab08f --- /dev/null +++ b/.zshrc @@ -0,0 +1,229 @@ +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH + +# Path to your Oh My Zsh installation. +export ZSH="$HOME/.oh-my-zsh" + +# Set name of the theme to load --- if set to "random", it will +# load a random theme each time Oh My Zsh is loaded, in which case, +# to know which specific one was loaded, run: echo $RANDOM_THEME +# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +ZSH_THEME="robbyrussell" + +# Set list of themes to pick from when loading at random +# Setting this variable when ZSH_THEME=random will cause zsh to load +# a theme from this variable instead of looking in $ZSH/themes/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment one of the following lines to change the auto-update behavior +# zstyle ':omz:update' mode disabled # disable automatic updates +# zstyle ':omz:update' mode auto # update automatically without asking +zstyle ':omz:update' mode reminder # just remind me to update when it's time + +# Uncomment the following line to change how often to auto-update (in days). +# zstyle ':omz:update' frequency 13 + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# You can also set it to another string to have that shown instead of the default red dots. +# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" +# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# You can set one of the optional three formats: +# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# or set a custom format using the strftime function format specifications, +# see 'man strftime' for details. +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=( + git + zsh-syntax-highlighting + # zsh-autosuggestions + zsh-autocomplete + sudo +) + +zstyle ':autocomplete:*' delay 0.1 # seconds (float) + +# completions +# ZSH_AUTOSUGGEST_STRATEGY=( +# history +# completion +# ) +# +# # Remove forward-char widgets from ACCEPT +# ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=("${(@)ZSH_AUTOSUGGEST_ACCEPT_WIDGETS:#forward-char}") +# ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=("${(@)ZSH_AUTOSUGGEST_ACCEPT_WIDGETS:#autosuggest-accept}") +# +# # Add forward-char widgets to PARTIAL_ACCEPT +# ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS+=(autosuggest-accept) + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +if [[ -n $SSH_CONNECTION ]]; then + export EDITOR='vim' +else + export EDITOR='mvim' +fi + +# Compilation flags +# export ARCHFLAGS="-arch $(uname -m)" + +# Set personal aliases, overriding those provided by Oh My Zsh libs, +# plugins, and themes. Aliases can be placed here, though Oh My Zsh +# users are encouraged to define aliases within a top-level file in +# the $ZSH_CUSTOM folder, with .zsh extension. Examples: +# - $ZSH_CUSTOM/aliases.zsh +# - $ZSH_CUSTOM/macos.zsh +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" + +# fzf +source <(fzf --zsh) + +alias ..='cd ..' +alias cls='clear' +alias explorer='nautilus' +alias vencord='sh -c "$(curl -sS https://raw.githubusercontent.com/Vendicated/VencordInstaller/main/install.sh)"' +alias apps='cd ~/.local/share/applications/' +alias tasklist='ps -aux' +alias louis='ssh anton@192.168.178.48' +alias la='ls -a --color=auto' +alias ls='ls --color=auto' +alias grep='grep --color=auto' +# WG +alias wgon='wg-quick up ~/Downloads/wg0.conf' +alias wgoff='wg-quick down ~/Downloads/wg0.conf' + +# Very helpful multi-functional clip command. +clip() { + if [ -t 0 ]; then + # Standard input is not a terminal (no pipe input) + if [ $# -eq 0 ]; then + # No arguments, print clipboard content + xclip -selection clipboard -o + else + # Arguments provided, pass them to xclip + echo "$*" | xclip -selection clipboard + fi + else + # Standard input is a terminal (pipe input) + xclip -selection clipboard + fi +} +# copy text +# $ clip "hello world" +# copy cmd output +# $ cat file.js | clip +# use copied data as values, for example run a script off the clipboard +# $ clip | python3 # runs what's in the clipboard using python3 + +into() { + mkdir -p "$1" && cd "$1"; +} + +# Custom theme +PROMPT="" + +# Arrow +PROMPT+="%(?:%{$fg_bold[green]%}%1{➜%} :%{$fg[red]%}%? %{$fg_bold[red]%}%1{➜%} )" + +# Path +PROMPT+="%{$fg[cyan]%}%c%{$reset_color%} " + +# Git +PROMPT+='$(git_prompt_info)' + +# This stuff is imported from the actual Robbyrussell theme. +# ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}" +# ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +# ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}%1{✗%}" +# ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" + +# Function to capture the start time of the command +preexec() { + timer_start=$EPOCHSECONDS +} + +# Function to capture the end time of the command and calculate the elapsed time +precmd() { + local timer_end=$EPOCHSECONDS + local elapsed=$((timer_end - timer_start)) + + # Reset RPROMPT + RPROMPT="" + + if (( elapsed > 36000 )); then + return + fi + + if (( elapsed > 0 )); then + local color time_str + if (( elapsed >= 60 )); then + local minutes=$((elapsed / 60)) + local seconds=$((elapsed % 60)) + time_str="${minutes}m ${seconds}s" + color="%{$fg_bold[red]%}" + elif (( elapsed >= 10 )); then + time_str="${elapsed}s" + color="%{$fg_bold[blue]%}" + elif (( elapsed >= 5 )); then + time_str="${elapsed}s" + color="%{$fg_bold[yellow]%}" + elif (( elapsed >= 1 )); then + time_str="${elapsed}s" + color="%{$fg_bold[green]%}" + fi + + # Set RPROMPT if elapsed time is greater than or equal to 1 second + if [[ -n $time_str ]]; then + RPROMPT="${color}${time_str}%{$reset_color%}" + fi + fi +}