diff --git a/.bash_logout b/.bash_logout new file mode 100644 index 0000000..de4f5f7 --- /dev/null +++ b/.bash_logout @@ -0,0 +1,7 @@ +# ~/.bash_logout: executed by bash(1) when login shell exits. + +# when leaving the console clear the screen to increase privacy + +if [ "$SHLVL" = 1 ]; then + [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q +fi diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..30d4174 --- /dev/null +++ b/.bash_profile @@ -0,0 +1,6 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc +[[ -f ~/.profile ]] && . ~/.profile diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..248dd23 --- /dev/null +++ b/.bashrc @@ -0,0 +1,211 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +shopt -s autocd +shopt -s checkwinsize +shopt -s cdspell +shopt -s cmdhist +shopt -s histappend +shopt -s hostcomplete + +# Make colorcoding available for everyone +Black='\e[0;30m' # Black +Red='\e[0;31m' # Red +Green='\e[0;32m' # Green +Yellow='\e[0;33m' # Yellow +Blue='\e[0;34m' # Blue +Purple='\e[0;35m' # Purple +Cyan='\e[0;36m' # Cyan +White='\e[0;37m' # White + +# Bold +BBlack='\e[1;30m' # Black +BRed='\e[1;31m' # Red +BGreen='\e[1;32m' # Green +BYellow='\e[1;33m' # Yellow +BBlue='\e[1;34m' # Blue +BPurple='\e[1;35m' # Purple +BCyan='\e[1;36m' # Cyan +BWhite='\e[1;37m' # White + +# Background +On_Black='\e[40m' # Black +On_Red='\e[41m' # Red +On_Green='\e[42m' # Green +On_Yellow='\e[43m' # Yellow +On_Blue='\e[44m' # Blue +On_Purple='\e[45m' # Purple +On_Cyan='\e[46m' # Cyan +On_White='\e[47m' # White + +NC="\e[m" # Color Reset + +# new alert text +ALERT=${BWhite}${On_Red} # Bold White on red background + +# Creates an archive (*.tar.gz) from given directory. +function maketar() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; } + +# Create a ZIP archive of a file or folder. +function makezip() { zip -r "${1%%/}.zip" "$1" ; } + +function extract { + if [ -z "$1" ]; then + # display usage if no parameters given + echo "Usage: extract ." + else + if [ -f $1 ] ; then + # NAME=${1%.*} + # mkdir $NAME && cd $NAME + case $1 in + *.tar.bz2) tar xvjf ../$1 ;; + *.tar.gz) tar xvzf ../$1 ;; + *.tar.xz) tar xvJf ../$1 ;; + *.lzma) unlzma ../$1 ;; + *.bz2) bunzip2 ../$1 ;; + *.rar) unrar x -ad ../$1 ;; + *.gz) gunzip ../$1 ;; + *.tar) tar xvf ../$1 ;; + *.tbz2) tar xvjf ../$1 ;; + *.tgz) tar xvzf ../$1 ;; + *.zip) unzip ../$1 ;; + *.Z) uncompress ../$1 ;; + *.7z) 7z x ../$1 ;; + *.xz) unxz ../$1 ;; + *.exe) cabextract ../$1 ;; + *) echo "extract: '$1' - unknown archive method" ;; + esac + else + echo "$1 - file does not exist" + fi + fi +} + +function pacsrc() { + packages=("$@") + for pack in "${packages[@]}" + do + echo -e "\n" + echo "======================================== $pack ========================================" + echo -e "\n" + yay -Ss $pack + done +} + +# jump directorys upwards until it hits a directory with multiple folders +function up(){ + local d="" + limit=$1 + for ((i=1 ; i <= limit ; i++)) + do + d=$d/.. + done + d=$(echo $d | sed 's/^\///') + if [ -z "$d" ]; then + d=.. + fi + cd $d +} + +# create an directory and directly cd into it +function mcd() { + mkdir -p $1 + cd $1 +} + +function parse_git_branch() { + git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' +} + +function my_ip() { + INTERFACE=`ip addr | awk '/state UP/ {print $2}' | sed 's/.$//'` + echo `/sbin/ifconfig $INTERFACE | awk "/inet/ {print $2} " | sed -e s/addr://` +} + +function welcome() { + #------------------------------------------ + #------WELCOME MESSAGE--------------------- + # customize this first message with a message of your choice. + # this will display the username, date, time, a calendar, the amount of users, and the up time. + clear + # Gotta love ASCII art with figlet + #figlet "Welcome, " $USER; + toilet -f starwars -t "Welcome, " $USER; + #echo -e ""; cal ; + screenfetch 2> /dev/null + echo "" + echo -ne "Today is "; date + echo -e "" + echo -ne "Up time:";uptime | awk /'up/' + echo -en "Local IP Address : "; my_ip | awk '{print $2}' + echo ""; +} + +function appendpath() { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +appendpath $HOME/.local/bin +appendpath $HOME/go/bin +unset appendpath + +[ -r $HOME/.bashrc.aliases ] && . $HOME/.bashrc.aliases + +# export QT_STYLE_OVERRIDE=gtk +# export QT_SELECT=qt5 + +if [[ $LANG = '' ]]; then + export LANG=it_IT.UTF-8 +fi + +if [ -n "$SSH_CLIENT" ]; then + ssh_placeholder=' {SSH::SESSION}' +fi + +if [ -f $HOME/.bash-git-prompt/gitprompt.sh ]; then + # To only show the git prompt in or under a repository directory + GIT_PROMPT_ONLY_IN_REPO=0 + # To use upstream's default theme + GIT_PROMPT_THEME=Custom + source $HOME/.bash-git-prompt/gitprompt.sh +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +[ -e "/etc/DIR_COLORS" ] && DIR_COLORS="/etc/DIR_COLORS" +[ -e "$HOME/.dircolors" ] && DIR_COLORS="$HOME/.dircolors" +[ -e "$DIR_COLORS" ] || DIR_COLORS="" +eval "`dircolors -b $DIR_COLORS`" + +# added by travis gem +[ -f /home/plague/.travis/travis.sh ] && source /home/plague/.travis/travis.sh + +# Set up Node Version Manager +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion + +#welcome +eval $(thefuck --alias) + +#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! +export SDKMAN_DIR="/home/plague/.sdkman" +[[ -s "/home/plague/.sdkman/bin/sdkman-init.sh" ]] && source "/home/plague/.sdkman/bin/sdkman-init.sh" diff --git a/.bashrc.aliases b/.bashrc.aliases new file mode 100644 index 0000000..d978f1e --- /dev/null +++ b/.bashrc.aliases @@ -0,0 +1,49 @@ +# +# ~/.bashrc.aliases +# + +# Alias di cambio directory +alias ..="cd .." +alias ...="cd ../.." +alias .3="cd ../../.." +alias .4="cd ../../../.." +alias .5="cd ../../../../.." +alias cd..="cd .." +alias home="cd ~" + +# Alias del comando ls +alias l='ls -CF --color=auto' +alias ls="ls -CF --color=auto" +alias lla="ls -lisah --color=auto" +alias ll="ls -lh --color=auto" +alias la="ls -CF --color=auto -a" +alias lsl="ls -lhFA | less" + +# Output colorato comandi vari +alias grep='grep --color=auto' +alias gcc='colorgcc' +alias diff='colordiff' + +# Alias vari +alias path='echo -e ${PATH//:/\\n}' # path: Echo all executable Paths +alias mkdir="mkdir -pv" +alias journalctl='sudo journalctl' +alias failed='sudo systemctl --failed' +alias se='ls /usr/bin | grep' +alias df='df -h' +alias du='du -h' +alias please='sudo $(fc -ln -1)' +alias userlist="cut -d: -f1 /etc/passwd | sort" +alias fhere="find . -name " +alias free="free -mth" +alias ps="ps auxf" +alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" +alias wget="wget -c" +alias histg="history | grep" +alias myip="curl http://ipecho.net/plain; echo" +alias logs="find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f" +alias folders='find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn' +alias vpn-add='nmcli connection import type openvpn file' +alias pbcopy='xsel --clipboard --input' +alias pbpaste='xsel --clipboard --output' + diff --git a/.emacs b/.emacs new file mode 100644 index 0000000..32366e2 --- /dev/null +++ b/.emacs @@ -0,0 +1,42 @@ +(package-initialize) + +;; Aggiunge il repository melpa +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/")) + +;; Configurazione di Smex +(global-set-key (kbd "M-x") 'smex) +(global-set-key (kbd "M-X") 'smex-major-mode-commands) +;; This is you old M-x +(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command) + +;; Elimina lo screen allo startup +(setq inhibit-startup-screen t) + +;; Elimina la menù bar +(menu-bar-mode 0) + +;; Elimina la toolbar +(tool-bar-mode 0) + +(ido-mode 1) + +;; Configura il font di default +(set-default-font "Fira Code-12") + +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(custom-enabled-themes (quote (wombat))) + '(package-selected-packages (quote (smex)))) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) + +;; Imposta il backup della configurazione +(setq backup-directory-alist '(("." . "~/.emacs_saves"))) diff --git a/.git-prompt-colors.sh b/.git-prompt-colors.sh new file mode 100644 index 0000000..febd955 --- /dev/null +++ b/.git-prompt-colors.sh @@ -0,0 +1,67 @@ +# This is the custom theme template for gitprompt.sh + +# These are the defaults from the "Default" theme +# You just need to override what you want to have changed +override_git_prompt_colors() { + GIT_PROMPT_THEME_NAME="Custom" + + Time24h="${Cyan}\d ${BoldGreen}\t${ResetColor}" + PathShort="\W"; + PathLong="\w"; + UserHost="${BoldWhite}\u ${BoldYellow}on ${BoldWhite}\h${ResetColor}"; + + ## These are the color definitions used by gitprompt.sh + GIT_PROMPT_PREFIX="(" # start of the git info string + GIT_PROMPT_SUFFIX=")" # the end of the git info string + GIT_PROMPT_SEPARATOR="|" # separates each item + + GIT_PROMPT_BRANCH="${Magenta}" # the git branch that is active in the current directory + GIT_PROMPT_MASTER_BRANCH="${GIT_PROMPT_BRANCH}" # used if the git branch that is active in the current directory is $GIT_PROMPT_MASTER_BRANCHES + GIT_PROMPT_STAGED="${Red}●" # the number of staged files/directories + GIT_PROMPT_CONFLICTS="${Red}✖ " # the number of files in conflict + GIT_PROMPT_CHANGED="${Blue}✚ " # the number of changed files + + # GIT_PROMPT_REMOTE=" " # the remote branch name (if any) and the symbols for ahead and behind + GIT_PROMPT_UNTRACKED="${Cyan}…" # the number of untracked files/dirs + GIT_PROMPT_STASHED="${BoldBlue}⚑ " # the number of stashed files/dir + GIT_PROMPT_CLEAN="${BoldGreen}✔" # a colored flag indicating a "clean" repo + + ## For the command indicator, the placeholder _LAST_COMMAND_STATE_ + ## will be replaced with the exit code of the last command + ## e.g. + GIT_PROMPT_COMMAND_OK="${Green}✔-_LAST_COMMAND_STATE_ " # indicator if the last command returned with an exit code of 0 + GIT_PROMPT_COMMAND_FAIL="${Red}✘-_LAST_COMMAND_STATE_ " # indicator if the last command returned with an exit code of other than 0 + + GIT_PROMPT_COMMAND_OK="${Green}✔" # indicator if the last command returned with an exit code of 0 + GIT_PROMPT_COMMAND_FAIL="${Red}✘-_LAST_COMMAND_STATE_" # indicator if the last command returned with an exit code of other than 0 + + ## template for displaying the current virtual environment + ## use the placeholder _VIRTUALENV_ will be replaced with + ## the name of the current virtual environment (currently CONDA and VIRTUAL_ENV) + GIT_PROMPT_VIRTUALENV="(${Blue}_VIRTUALENV_${ResetColor}) " + + # template for displaying the current remote tracking branch + # use the placeholder _UPSTREAM_ will be replaced with + # the name of the current remote tracking branch + # GIT_PROMPT_UPSTREAM=" {${Blue}_UPSTREAM_${ResetColor}}" + + ## _LAST_COMMAND_INDICATOR_ will be replaced by the appropriate GIT_PROMPT_COMMAND_OK OR GIT_PROMPT_COMMAND_FAIL + GIT_PROMPT_START_USER=" _LAST_COMMAND_INDICATOR_ ${Time24h}${ResetColor}" + GIT_PROMPT_START_ROOT=" _LAST_COMMAND_INDICATOR_ ${Time24h}${ResetColor}" + GIT_PROMPT_END_USER="\n ${UserHost} ${BoldBlue}${PathLong}${ResetColor} ${BoldGreen}➤ ${ResetColor}" + GIT_PROMPT_END_ROOT="\n ${UserHost} ${BoldBlue}${PathLong}${ResetColor} ${BoldRed}# ${ResetColor}" + + ## Please do not add colors to these symbols + # GIT_PROMPT_SYMBOLS_AHEAD="↑·" # The symbol for "n versions ahead of origin" + # GIT_PROMPT_SYMBOLS_BEHIND="↓·" # The symbol for "n versions behind of origin" + # GIT_PROMPT_SYMBOLS_PREHASH=":" # Written before hash of commit, if no name could be found + # GIT_PROMPT_SYMBOLS_NO_REMOTE_TRACKING="L" # This symbol is written after the branch, if the branch is not tracked + + # branch name(s) that will use $GIT_PROMPT_MASTER_BRANCH color + # To specify multiple branches, use + # shopt -s extglob + # GIT_PROMPT_MASTER_BRANCHES='@(master|production)' + # GIT_PROMPT_MASTER_BRANCHES="master" +} + +reload_git_prompt_colors "Custom" diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..145a195 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,20 @@ +[user] + name = Fabio Scotto di Santolo + email = fabio.scottodisantolo@gmail.com +[core] + pager = +[push] + followTags = true +[remote "origin"] + prune = true +[alias] + lg = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)%n' --all + onelinegraph = log --oneline --graph --decorate + expireunreachablenow = reflog expire --expire-unreachable=now --all + gcunreachablenow = gc --prune=now + ld = log -p + daily = log --all --author=\"$(git config --get user.name)\" --since=yesterday.midnight --date=format:\"%d %h|%H:%m\" --pretty=format:\"%C(yellow)%h%Xreset|%cd|%C(blue)%s\" +[color "status"] + branch = magenta + untracked = cyan + unmerged = yellow diff --git a/.gitignore_global b/.gitignore_global new file mode 100644 index 0000000..ff8e3ae --- /dev/null +++ b/.gitignore_global @@ -0,0 +1,99 @@ +*~ +#* +*$ +*.BAK +*.Z +*.bak +*.elc +*.ln +*.log +*.o +*.obj +*.olb +*.old +*.orig +*.rej +*.class +*/.git/* +.#* +.DS_Store +.del-* +.deployables +.git +.make.state +.nse_depinfo +.CVS.adm +RCS +RCSLOG +SCCS +_$* +bin/ +classes/ +*target* + +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Sonarlint plugin +.idea/sonarlint/** diff --git a/.profile b/.profile new file mode 100644 index 0000000..c478d35 --- /dev/null +++ b/.profile @@ -0,0 +1,8 @@ +# Load profiles from /etc/profile.d +if test -d $HOME/.profile.d/; then + for profile in $HOME/.profile.d/*.sh; do + test -r "$profile" && . "$profile" + done + unset profile +fi + diff --git a/.profile.d/go.sh b/.profile.d/go.sh new file mode 100644 index 0000000..3cdb70d --- /dev/null +++ b/.profile.d/go.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +GOPATH=$HOME/go +GOBIN=$GOPATH/bin +export GOPATH +export GOBIN diff --git a/.profile.d/java.sh b/.profile.d/java.sh new file mode 100644 index 0000000..2e4028d --- /dev/null +++ b/.profile.d/java.sh @@ -0,0 +1,2 @@ +JAVA_HOME=/usr/lib/jvm/default +export JAVA_HOME diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..a4ca2df --- /dev/null +++ b/.vimrc @@ -0,0 +1,7 @@ +syntax on +set number +set backupdir=~/.vim/backup,/tmp +set wrapscan +set guifont=Menlo\ for\ Powerline +let g:opamshare = substitute(system('opam config var share'),'\n$','','''') +execute "set rtp+=" . g:opamshare . "/merlin/vim" diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..04c804f --- /dev/null +++ b/.zshrc @@ -0,0 +1,270 @@ +# 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="/home/plague/.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="powerlevel9k/powerlevel9k" + +# 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 automatically update without prompting. +# DISABLE_UPDATE_PROMPT="true" + +# Uncomment the following line to change how often to auto-update (in days). +# export UPDATE_ZSH_DAYS=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. +# 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=$ZSH/custom + +# 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=( + archlinux + autopep8 + cabal + cargo + colored-man-pages + colorize + command-not-found + cp + docker + docker-compose + docker-machine + extract + git + git-auto-fetch + git-extras + git-flow + github + gitignore + git-prompt + git-remote-branch + go + golang + gradle + heroku + httpie + jsontools + man + mix + mvn + nanoc + nmap + node + npm + npx + nvm + pass + perms + pip + pipenv + profiles + pylint + python + rebar + redis-cli + rust + sdk + spring + stack + systemd + thefuck + themes + tmux + ufw + vscode + yarn + web-search + zsh-completions + zsh-navigation-tools + zsh_reload +) + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# Powerlevel9k configuration +POWERLEVEL9K_MODE="nerdfont-complete" + +POWERLEVEL9K_PROMPT_ON_NEWLINE=true +POWERLEVEL9K_PROMPT_ADD_NEWLINE=true +POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='' +POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='' +POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='' +POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='' +POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%F{blue}\u256D\u2500%F{white}" +POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%F{blue}\u2570\uf460%F{white} " +POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon root_indicator context dir dir_writable_joined) +POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status time dir_writable vcs background_jobs_joined ip custom_wifi_signal ram load background_jobs command_execution_time) +POWERLEVEL9K_VCS_MODIFIED_BACKGROUND="clear" +POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND="clear" +POWERLEVEL9K_VCS_MODIFIED_FOREGROUND="yellow" +POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND="yellow" +POWERLEVEL9K_DIR_HOME_BACKGROUND="clear" +POWERLEVEL9K_DIR_HOME_FOREGROUND="blue" +POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND="clear" +POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="blue" +POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_BACKGROUND="clear" +POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_FOREGROUND="red" +POWERLEVEL9K_DIR_ETC_BACKGROUND="clear" +POWERLEVEL9K_DIR_ETC_FOREGROUND="white" +POWERLEVEL9K_DIR_DEFAULT_BACKGROUND="clear" +POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="white" +POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND="red" +POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND="white" +POWERLEVEL9K_STATUS_OK_BACKGROUND="clear" +POWERLEVEL9K_STATUS_OK_FOREGROUND="green" +POWERLEVEL9K_STATUS_ERROR_BACKGROUND="clear" +POWERLEVEL9K_STATUS_ERROR_FOREGROUND="red" +POWERLEVEL9K_TIME_BACKGROUND="clear" +POWERLEVEL9K_TIME_FOREGROUND="cyan" +POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND='clear' +POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND='magenta' +POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND='clear' +POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND='green' +POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND='clear' +POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND='yellow' +POWERLEVEL9K_OS_ICON_BACKGROUND='clear' +POWERLEVEL9K_OS_ICON_FOREGROUND='green' + +source "/home/plague/.oh-my-zsh/custom/themes/powerlevel9k/powerlevel9k.zsh-theme" + +# Setup emacs keymap +bindkey -e + +# 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" + +# 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" + +autoload -U compinit && compinit + +function my_ip() { + INTERFACE=`ip addr | awk '/state UP/ {print $2}' | sed 's/.$//' | head -n 1` + echo `ifconfig $INTERFACE | awk "/inet/ {print $2} " | sed -e s/addr://` +} + +function welcome() { + #------------------------------------------ + #------WELCOME MESSAGE--------------------- + # customize this first message with a message of your choice. + # this will display the username, date, time, a calendar, the amount of users, and the up time. + clear + # Gotta love ASCII art with figlet + #figlet "Welcome, " $USER; + toilet -f starwars -t "Welcome, " $USER; + #echo -e ""; cal ; + # screenfetch 2> /dev/null + neofetch --color_blocks off + echo "" + echo -ne "Today is "; date + echo -e "" + echo -ne "Up time:";uptime | awk /'up/' + echo -en "Local IP Address : "; my_ip | awk '{print $2}' + echo ""; +} + +function appendpath() { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +appendpath $HOME/.local/bin +appendpath $HOME/go/bin +unset appendpath + +#[[ -f ~/.profile ]] && . ~/.profile + +# added by travis gem +[ -f /home/plague/.travis/travis.sh ] && source /home/plague/.travis/travis.sh + +# Set up Node Version Manager +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion + +welcome +eval $(thefuck --alias) + +# opam configuration +test -r /home/plague/.opam/opam-init/init.zsh && . /home/plague/.opam/opam-init/init.zsh > /dev/null 2> /dev/null || true + +# opam configuration +test -r /home/plague/.opam/opam-init/init.zsh && . /home/plague/.opam/opam-init/init.zsh > /dev/null 2> /dev/null || true#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! +export SDKMAN_DIR="/home/plague/.sdkman" +[[ -s "/home/plague/.sdkman/bin/sdkman-init.sh" ]] && source "/home/plague/.sdkman/bin/sdkman-init.sh" +