Skip to content

Instantly share code, notes, and snippets.

@mrv1k
Created August 29, 2019 18:12
Show Gist options
  • Save mrv1k/10b19c8c4e01d56dad30dcdb3bbf403c to your computer and use it in GitHub Desktop.
Save mrv1k/10b19c8c4e01d56dad30dcdb3bbf403c to your computer and use it in GitHub Desktop.

Revisions

  1. Viktor Khotimchenko created this gist Aug 29, 2019.
    244 changes: 244 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,244 @@
    ZSH_THEME="mh"

    # If you come from bash you might have to change your $PATH.
    export PATH=$HOME/bin:/usr/local/bin:$PATH

    # Path to your oh-my-zsh installation.
    export ZSH="/Users/mrv1k/.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/robbyrussell/oh-my-zsh/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 ~/.oh-my-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 the following line to disable bi-weekly auto-update checks.
    # DISABLE_AUTO_UPDATE="true"

    # Uncomment the following line to change how often to auto-update (in days).
    # export UPDATE_ZSH_DAYS=13

    # 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.
    # 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 ~/.oh-my-zsh/plugins/*
    # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
    # Example format: plugins=(rails git textmate ruby lighthouse)
    # Add wisely, as too many plugins slow down shell startup.
    # plugins=(git)

    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 x86_64"

    # ssh
    # export SSH_KEY_PATH="~/.ssh/rsa_id"

    # 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 the ZSH_CUSTOM folder.
    # For a full list of active aliases, run `alias`.
    #
    # Example aliases
    # alias zshconfig="mate ~/.zshrc"
    # alias ohmyzsh="mate ~/.oh-my-zsh"


    # Path to your oh-my-zsh installation.

    # color synthwave
    # ZSH_THEME="af-magic"
    # ZSH_THEME="amuse"
    # ZSH_THEME="aussiegeek"
    # ZSH_THEME="avit"

    # STOPPED AT https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
    # ZSH_THEME="blinks"

    ### Plugins ###
    source ~/.oh-my-zsh/plugins/git/git.plugin.zsh
    source ~/.oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh
    source ~/.zsh-nvm/zsh-nvm.plugin.zsh
    ### .oh-my-zsh/custom - custom built plugins ###
    # Idk how to configure it yet https://github.com/zsh-users/zsh-completions
    # source /usr/local/share/zsh-completions
    source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
    # Note that zsh-syntax-highlighting must be the last plugin sourced.
    source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh


    # Yes, not all plugins have to be included here
    plugins=(
    # full alias list is here https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/git.plugin.zsh
    git
    zsh-nvm
    colored-man-pages
    colorize
    # zsh-completions
    zsh-autosuggestions
    zsh-syntax-highlighting
    )

    # ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline"
    export ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR=/usr/local/share/zsh-syntax-highlighting/highlighters



    ### Aliases ###
    # Dev
    # there's a config workarout to make "tinker" work ~/.config/psysh/config.php
    alias art='php artisan'
    alias phpunitlocal='vendor/bin/phpunit'
    alias c='code .'
    # open in editor
    alias hosts='code /etc/hosts'
    alias zsh='code ~/.zshrc'
    alias rezsh='source ~/.zshrc'
    # System
    alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend"
    # global update alias update=‘mas upgrade; brew cleanup; brew upgrade; brew update; brew cask cleanup; brew cu -a -y; composer global update; npm update -g; npm install npm@latest -g’

    # ¯\_(ツ)_/¯
    alias shrug="printf '¯\_(ツ)_/¯' | pbcopy"
    alias flipt="printf '(╯°□°)╯︵ ┻━┻' | pbcopy"
    alias fight="printf '(ง'̀-'́)ง' | pbcopy"
    # alias take - mkdir && cd
    # z alias - jump around
    . /usr/local/etc/profile.d/z.sh

    ### Functions ###
    npm() {
    if [[ $@ == "pray" ]]; then
    command npm update
    else
    command npm "$@"
    fi
    }

    git-halp() {
    open "https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/git.plugin.zsh"
    }
    git-doc() {
    open "https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git"
    }
    vue-boiler() {
    open "https://github.com/chrisvfritz/vue-enterprise-boilerplate"
    }
    alias gcd='git checkout dev'
    alias grbd='git rebase dev'
    alias grpo='git remote prune origin --dry-run'
    alias nah='git reset --hard'
    # https://www.git-tower.com/learn/git/faq/delete-remote-branch
    gdrb() {
    branch=$1
    git push origin --delete $branch
    }
    alias git-rebase-push='git push --force-with-lease'
    alias grp='git push --force-with-lease'

    # The "=~" Regular Expression matching operator within a double brackets test expression. (Perl has a similar operator.)
    gitmoji-ver() {
    version=$1
    message=$2

    if [[ $version =~ "[0-9]+\.[0-9]+\.[0-9]+" ]]
    then
    command npm version $version -m "🔖 $version $message"
    else
    echo 'Expected format:'
    echo 'MAJOR.MINOR.PATCH "COMMIT MESSAGE"'
    fi
    }
    alias tinker='art tinker'

    # Reaper quality of life
    # alias nre='npm start env.'
    # nre() {
    # env=$1
    # command npm start env.$env
    # # command npm version $version -m "🔖 $version $message"
    # }

    # Misc PHP
    t() {
    if [ -f vendor/bin/phpunit ]; then
    vendor/bin/phpunit "$@"
    else
    phpunit "$@"
    fi
    }


    ### $PATH ###
    # brew doctor told me it was missing
    export PATH="/usr/local/sbin:$PATH"
    # CGR - https://github.com/consolidation/cgr#installation-and-usage
    PATH="$(composer config -g home)/vendor/bin:$PATH"
    # PEHEPE
    export XDEBUG_CONFIG="idekey=VSCODE"

    # export PATH="/usr/local/opt/node@10/bin:$PATH"

    # pyenv https://github.com/pyenv/pyenv#basic-github-checkout
    # export PYENV_ROOT="$HOME/.pyenv"
    # export PATH="$PYENV_ROOT/bin:$PATH"
    # if command -v pyenv 1>/dev/null 2>&1; then
    # eval "$(pyenv init -)"
    # fi


    export PATH="/usr/local/opt/[email protected]/bin:$PATH"