1
0

feat: switched to oh-my-zsh

This commit is contained in:
2024-08-04 05:41:17 +02:00
parent 028893231b
commit ad7715287c
6 changed files with 241 additions and 95 deletions

82
.bashrc
View File

@@ -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'

View File

@@ -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.

View File

@@ -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" }
}

View File

@@ -11,7 +11,7 @@ vim.keymap.set('v', '<leader>y', '"+y')
vim.keymap.set('n', 'Q', '<nop>')
-- terminal
vim.keymap.set('n', '<leader>t', ':terminal <CR>')
vim.keymap.set('n', '<leader>t', ':term<CR>')
vim.keymap.set('t', '<ESC>', '<C-\\><C-n>')
-- nice additions

View File

@@ -29,7 +29,6 @@ require('mason').setup({})
require('mason-lspconfig').setup({
ensure_installed = {
'lua_ls',
'tsserver',
},
handlers = {
-- zero.default_setup,

229
.zshrc Normal file
View File

@@ -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
}