feat(omz): move omz config to dotfiles
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -4,3 +4,5 @@ glab-cli/**/mr.json | |||||||
| **/.DS_Store | **/.DS_Store | ||||||
| **/lazy-lock.json | **/lazy-lock.json | ||||||
| github-copilot/hosts.json | github-copilot/hosts.json | ||||||
|  | omz-custom/plugins | ||||||
|  | omz | ||||||
|   | |||||||
							
								
								
									
										354
									
								
								omz-custom/custom_commands.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										354
									
								
								omz-custom/custom_commands.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,354 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | alias gs="git status" | ||||||
|  |  | ||||||
|  | alias gc="git commit" | ||||||
|  |  | ||||||
|  | unalias gcm 2>/dev/null | ||||||
|  | alias gcm="git commit -m" | ||||||
|  |  | ||||||
|  | alias gps="git push" | ||||||
|  |  | ||||||
|  | alias gpl="git pull" | ||||||
|  |  | ||||||
|  | unalias ga 2>/dev/null | ||||||
|  | alias ga="git add" | ||||||
|  |  | ||||||
|  | alias gch="git checkout" | ||||||
|  |  | ||||||
|  | function gas() { | ||||||
|  |     git add --all  | ||||||
|  |     git status | ||||||
|  | } | ||||||
|  |  | ||||||
|  | alias det="docker exec -it" | ||||||
|  |  | ||||||
|  | function gchtime() { | ||||||
|  |     git commit --amend --no-edit --date=${VARIABLE:-"now"} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | unalias gbd 2>/dev/null | ||||||
|  | function gbd() { | ||||||
|  |     git branch --merged >/tmp/merged-branches && vim /tmp/merged-branches && xargs git branch -d </tmp/merged-branches | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function grlcs() { | ||||||
|  |     git reset --soft HEAD^ | ||||||
|  |     git restore -S . | ||||||
|  | } | ||||||
|  |  | ||||||
|  | alias grlc="git reset --soft HEAD^" | ||||||
|  |  | ||||||
|  | function python() { | ||||||
|  |     python3 $1 $2 $3 $4 $5 $6 $7 $8 $9 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function pip() { | ||||||
|  |     pip3 $1 $2 $3 $4 $5 $6 $7 $8 $9 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function vim() { | ||||||
|  |   nvim  $1 $2 $3 $4 $5 $6 $7 $8 $9 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function v() { | ||||||
|  |   nvim  $1 $2 $3 $4 $5 $6 $7 $8 $9 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function dcu() { | ||||||
|  |   od | ||||||
|  |   docker-compose up --build $1 $2 $3 $4 $5 $6 $7 $8 $9  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function dcud () { | ||||||
|  |   od | ||||||
|  |   docker-compose up -d --build $1 $2 $3 $4 $5 $6 $7 $8 $9  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function od() { | ||||||
|  |   PROCESS=docker | ||||||
|  |   number=$(ps aux | grep -v grep | grep -ci $PROCESS) | ||||||
|  |  | ||||||
|  |   if [ $number -lt 2 ] | ||||||
|  |   then | ||||||
|  |     open --background /Applications/Docker.app | ||||||
|  |     echo "Openning Docker..." | ||||||
|  |     while [ $(ps aux | grep -v grep | grep -ci $PROCESS) -lt 2 ] | ||||||
|  |     do | ||||||
|  |       sleep 1 | ||||||
|  |     done | ||||||
|  |     sleep 3 | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function rutvrm () { | ||||||
|  |   docker-compose exec -T mysql mysql --host=mysql --password=deadbeef --database=vrm_testing < tests/resources/db/schema.sql | ||||||
|  |   docker-compose exec -T mysql mysql --host=mysql --password=deadbeef --database=vrm_testing < tests/resources/db/seed.sql | ||||||
|  | } | ||||||
|  |  | ||||||
|  | alias yas="yarn serve" | ||||||
|  |  | ||||||
|  | alias yai="yarn install" | ||||||
|  |  | ||||||
|  | function kfpa() { | ||||||
|  |   kubectl port-forward -n acceptance svc/victron-mysql-master 3306:3306 | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function kfp() { | ||||||
|  |   #!/bin/bash | ||||||
|  |   function pause(){ | ||||||
|  |     echo "$*" | ||||||
|  |     read | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   kubectl port-forward --namespace production svc/mysql-shared 3307:3306 & | ||||||
|  |   kubectl port-forward --namespace acceptance svc/mysql-shared 3308:3306 & | ||||||
|  |   kubectl port-forward --namespace dev svc/mysql-shared 3309:3306 & | ||||||
|  |   sleep 2 | ||||||
|  |   pause 'Press [Enter] key to stop the port forwards...' | ||||||
|  |   pkill -9 kubectl | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function cmpl() { | ||||||
|  |   file=$1 | ||||||
|  |   result=${file%%.*} | ||||||
|  |   gcc -ggdb -o $result $file | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function cmple() { | ||||||
|  |   file=$1 | ||||||
|  |   result=${file%%.*} | ||||||
|  |   gcc -ggdb -o $result $file | ||||||
|  |   ./$result | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function ccd() { | ||||||
|  |   pwd | pbcopy | ||||||
|  | } | ||||||
|  |  | ||||||
|  | alias tat="tmux attach -t" | ||||||
|  |  | ||||||
|  | alias t="tmux" | ||||||
|  |  | ||||||
|  | alias tls="tmux ls" | ||||||
|  |  | ||||||
|  | function ip() { | ||||||
|  |   dig +short myip.opendns.com @resolver1.opendns.com | ||||||
|  | } | ||||||
|  |  | ||||||
|  | private function get_ip_sha1_hash() { | ||||||
|  |   if [[ -z $1 ]]; | ||||||
|  |   then | ||||||
|  |     echo "Include string" | ||||||
|  |   else | ||||||
|  |     input_string=$1; | ||||||
|  |   fi; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   hash=$(echo -n "$input_string" | shasum -a 1 | awk '{print $1}') | ||||||
|  |  | ||||||
|  |   echo $hash | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function delratelimit() { | ||||||
|  |   ssh vrm "redis-cli -n 5 KEYS ratelimit_$(get_ip_sha1_hash $(ip))_* | xargs redis-cli -n 5 DEL" && ssh vrm "redis-cli -n 4 KEYS ratelimit_$(get_ip_sha1_hash $(ip))_* | xargs redis-cli -n 4 DEL" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function gollum() { | ||||||
|  |   /opt/homebrew/lib/ruby/gems/3.2.0/bin/gollum | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function dbar() { | ||||||
|  |   od | ||||||
|  |   name=$1 | ||||||
|  |   docker build -t name . | ||||||
|  |   docker run $1 | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function cmr() { | ||||||
|  |   if [[ "$*" == "--draft" ]] | ||||||
|  |   then | ||||||
|  |     draft="--draft" | ||||||
|  |   else | ||||||
|  |     draft="" | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   if [[ $1 =~ .*",".* ]]; then  | ||||||
|  |     reviewers=$1; | ||||||
|  |   else | ||||||
|  |     echo "Needs at least two reviewers, only assigned" | ||||||
|  |     return | ||||||
|  |   fi; | ||||||
|  |  | ||||||
|  |   current_branch=$(git branch --show-current) | ||||||
|  |   if [[ $current_branch == "master" ]] || [[  $current_branch == "beta" ]] || [[ $current_branch == "acceptance" ]] || [[ $current_branch == "main" ]] || [[ $current_branch == "release" ]] ; | ||||||
|  |     then echo "Checkout a feature branch" && return; | ||||||
|  |   fi; | ||||||
|  |  | ||||||
|  |     # Check if 'main' branch exists in the remote repository | ||||||
|  |   current_project=$(basename $(pwd)) | ||||||
|  |  | ||||||
|  |   if [[ ! -z $2 ]]; then | ||||||
|  |     target_branch=$2 | ||||||
|  |   elif [[ $current_project =~ "vrm-(front|api)" ]]; then | ||||||
|  |     target_branch="release" | ||||||
|  |   else | ||||||
|  |     target_branch="master" | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   glab mr create -a oliver --reviewer=$reviewers --target-branch=$target_branch -t "Merge branch: '$(git branch --show-current)' into $target_branch" $draft | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function branchname() { | ||||||
|  |   if [[ -z $1 ]]; | ||||||
|  |   then | ||||||
|  |     echo "No issue number supplied" | ||||||
|  |   fi; | ||||||
|  |   project=$(basename $(pwd)) | ||||||
|  |   issue_project=$(echo $project | sed 's/api/front/') | ||||||
|  |   id=$1 | ||||||
|  |   if [[ -z $2 ]]; | ||||||
|  |   then | ||||||
|  |     >&2 echo "No branch supplied, using issue title" | ||||||
|  |     url="https://gitlab.elnino.tech/elnino/snooze/$issue_project/-/issues/$id" | ||||||
|  |     title=$(glab issue view $url); | ||||||
|  |     title=$(echo $title | sed -n '1 p' | sed 's/title://' | sed 's/^[[:space:]] *//g' | sed -e 's/ /-/g' | sed -e 's/\[//g' | sed -e 's/\]//g' ) | ||||||
|  |   fi; | ||||||
|  |  | ||||||
|  |   if [[ ! -z $2 ]]; | ||||||
|  |   then  | ||||||
|  |     branchname="$2" | ||||||
|  |   else | ||||||
|  |     branchname="$issue_project#$id-$title" | ||||||
|  |   fi; | ||||||
|  |   echo $branchname | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function gbi() { | ||||||
|  |   current_branch=$(git branch --show-current) | ||||||
|  |   if [[ $current_branch != "master" ]]; | ||||||
|  |     then echo "Checkout master" && return; | ||||||
|  |   fi; | ||||||
|  |   if [[ -z $1 ]]; | ||||||
|  |   then | ||||||
|  |     echo "No issue number supplied" | ||||||
|  |     return 1 | ||||||
|  |   fi; | ||||||
|  |  | ||||||
|  |   newbranch=$(branchname $1 $2) | ||||||
|  |   git switch -c $newbranch | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | unalias gl 2>/dev/null | ||||||
|  | alias gl="glab" | ||||||
|  |  | ||||||
|  | alias glci="glab ci view" | ||||||
|  |  | ||||||
|  | # get snippets from elnino gitlab | ||||||
|  | function gitlab_snippets() { | ||||||
|  |     SPACES=$(printf '%*s' 50) | ||||||
|  |     if [ -z ${GITLAB_TOKEN+x} ]; then | ||||||
|  |         echo "GITLAB_TOKEN is not set.";  | ||||||
|  |     else | ||||||
|  |         if [ -n "$1" ]; then | ||||||
|  |             update_snippet $1; | ||||||
|  |             return; | ||||||
|  |         fi | ||||||
|  |         SNIPPETS=$(curl --silent --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" \ | ||||||
|  |             --url "https://gitlab.elnino.tech/api/v4/snippets") | ||||||
|  |  | ||||||
|  |  | ||||||
|  |         echo " -------------------------------------------------- " | ||||||
|  |         echo "| ID:     | Snippet name                           |" | ||||||
|  |         echo "|---------|----------------------------------------|" | ||||||
|  |         echo "$SNIPPETS" | tr -d '\n' | jq -r --arg spaces "$SPACES" '.[] | | ||||||
|  |                                   [("| " + (.id | tostring) + "       ")[0:9], .title] | | ||||||
|  |                                   join(" | ") | | ||||||
|  |                                   if length > 50 then .[0:47] + "..." else . + $spaces end | | ||||||
|  |                                   .[0:50] + " |" | ||||||
|  |                                   ' | ||||||
|  |         echo " -------------------------------------------------- " | ||||||
|  |     fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function update_snippet() { | ||||||
|  |     if [ -z "$1" ]; then | ||||||
|  |         echo "Error: Missing snippet id"; | ||||||
|  |     else | ||||||
|  |         # URL="https://gitlab.elnino.tech/api/v4/snippets/$1/raw" | ||||||
|  |         URL="https://gitlab.elnino.tech/api/v4/snippets/$1" | ||||||
|  |         # echo $URL | ||||||
|  |         INFO=$(curl --silent --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" \ | ||||||
|  |             --url $URL) | ||||||
|  |  | ||||||
|  |         FILENAME=$(jq -r '.file_name' <<< $INFO) | ||||||
|  |         FILEPATH="/tmp/$FILENAME" | ||||||
|  |  | ||||||
|  |         curl --silent --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" \ | ||||||
|  |             --url "${URL}/raw" > $FILEPATH | ||||||
|  |  | ||||||
|  |         TITLE=$(jq -r '.title' <<< $INFO) | ||||||
|  |         DESC=$(jq -r '.description' <<< $INFO) | ||||||
|  |         VISIBILITY=$(jq -r '.visibility' <<< $INFO) | ||||||
|  |         nvim $FILEPATH | ||||||
|  |         CONTENT=$(cat $FILEPATH) | ||||||
|  |         JSON=$(jq -cn --arg content "$CONTENT" --arg title "$TITLE" --arg desc "$DESC" --arg filename "$FILENAME" --arg visibility "$VISIBILITY" '{title: $title, action: "update", file_name: $filename, visibility: $visibility, description: $desc, content: $content}') | ||||||
|  |         response_code=$(curl -s -o /dev/null --request PUT $URL -w "%{http_code}" \ | ||||||
|  |          --header 'Content-Type: application/json' \ | ||||||
|  |          --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" \ | ||||||
|  |          --data "$JSON") | ||||||
|  |         if [ "$response_code" != "200" ]; then | ||||||
|  |             echo "Error: Something went wrong, response code $response_code. Your changes have been saved to '$FILENAME'" | ||||||
|  |             cp $FILEPATH $FILENAME | ||||||
|  |         fi | ||||||
|  |     fi | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | alias gls="gitlab_snippets" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function learning_time() { | ||||||
|  |   # ANSI color codes | ||||||
|  |   RED='\033[0;31m' | ||||||
|  |   GREEN='\033[0;32m' | ||||||
|  |   CYAN='\033[0;36m' | ||||||
|  |   NC='\033[0m' # No Color | ||||||
|  |  | ||||||
|  |   USER_ID=300883 | ||||||
|  |   LEARNING_ID=21758966 | ||||||
|  |   INFO=$(curl --silent -u $PAYMO_TOKEN:f \ | ||||||
|  |     -H 'Accept: application/json' \ | ||||||
|  |     --url "https://app.paymoapp.com/api/entries?where=user_id=$USER_ID") | ||||||
|  |   LEARNING_TIME=$(jq "[.entries[] | select(.task_id==$LEARNING_ID) | .duration] | add" <<< "$INFO") | ||||||
|  |   TOTAL_TIME=$(jq "[.entries[] | .duration] | add" <<< "$INFO") | ||||||
|  |   # check if user added a parameter | ||||||
|  |   # if so, use it as total time in hours | ||||||
|  |   if [ -n "$1" ]; then | ||||||
|  |     TOTAL_TIME=$(echo "scale=2; $1 * 3600" | bc) | ||||||
|  |   fi | ||||||
|  |   PERCENTAGE_LEARNING=$(echo "scale=2; 100 * $LEARNING_TIME / $TOTAL_TIME" | bc) | ||||||
|  |   LEARNING_TIME=$(echo "scale=2; $LEARNING_TIME / 3600" | bc) | ||||||
|  |   TOTAL_TIME=$(echo "scale=2; $TOTAL_TIME / 3600" | bc) | ||||||
|  |   TOTAL_LEARNING_TIME=$(echo "scale=2; $TOTAL_TIME * 0.1" | bc) | ||||||
|  |   LEARNING_DIFF=$(echo "scale=2; $TOTAL_LEARNING_TIME - $LEARNING_TIME" | bc) | ||||||
|  |  | ||||||
|  |   echo -e "Total time spent: ${CYAN}$TOTAL_TIME hours${NC}" | ||||||
|  |   echo -e "Total learning time should be: ${CYAN}$TOTAL_LEARNING_TIME hours${NC}" | ||||||
|  |   echo -e "Total learning time spent: ${CYAN}$LEARNING_TIME hours${NC}" | ||||||
|  |   if (( $(echo "$PERCENTAGE_LEARNING > 10" | bc -l) )); then | ||||||
|  |     echo -e "Percentage of time spent learning: ${RED}${PERCENTAGE_LEARNING}%${NC}" | ||||||
|  |   else | ||||||
|  |     echo -e "Percentage of time spent learning: ${GREEN}${PERCENTAGE_LEARNING}%${NC}" | ||||||
|  |   fi | ||||||
|  |    | ||||||
|  |   if (( $(echo "$LEARNING_DIFF > 0" | bc -l) )); then | ||||||
|  |     echo -e "Total learning time missing: ${GREEN}$LEARNING_DIFF hours${NC}" | ||||||
|  |   else | ||||||
|  |     echo -e "Total extra learning time: ${RED}${LEARNING_DIFF#-} hours${NC}" | ||||||
|  |   fi | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								omz-custom/kfp.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								omz-custom/kfp.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | function pause(){ | ||||||
|  |   echo "$*" | ||||||
|  |   read | ||||||
|  | } | ||||||
|  | echo "Script started at $(date)" >> /tmp/script_debug.log | ||||||
|  |  | ||||||
|  | kubectl port-forward --namespace production svc/mysql-shared 3307:3306 & | ||||||
|  | kubectl port-forward --namespace acceptance svc/mysql-shared 3308:3306 & | ||||||
|  | kubectl port-forward --namespace dev svc/mysql-shared 3309:3306 & | ||||||
|  | sleep 2 | ||||||
|  | pause 'Press [Enter] key to stop the port forwards...' | ||||||
|  | pkill -9 kubectl | ||||||
							
								
								
									
										6
									
								
								omz-custom/themes/example.zsh-theme
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								omz-custom/themes/example.zsh-theme
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # Put your custom themes in this folder. | ||||||
|  | # See: https://github.com/ohmyzsh/ohmyzsh/wiki/Customization#overriding-and-adding-themes | ||||||
|  | #  | ||||||
|  | # Example: | ||||||
|  |  | ||||||
|  | PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% " | ||||||
		Reference in New Issue
	
	Block a user
	 Oliver
					Oliver