From b6a8fcf1098af06539e8b12fa5f6bea4d12870be Mon Sep 17 00:00:00 2001 From: nicolaka Date: Wed, 24 Mar 2021 02:41:53 +0000 Subject: [PATCH] switched to zsh --- Dockerfile | 21 ++++++-- motd | 3 +- profile | 40 --------------- zshrc | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 159 insertions(+), 46 deletions(-) delete mode 100644 profile create mode 100644 zshrc diff --git a/Dockerfile b/Dockerfile index 664d048..5166d71 100755 --- a/Dockerfile +++ b/Dockerfile @@ -56,7 +56,9 @@ RUN set -ex \ tcptraceroute \ tshark \ util-linux \ - vim \ + vim \ + git \ + zsh \ websocat # Installing ctop - top-like container monitor @@ -68,8 +70,17 @@ COPY --from=fetcher /tmp/calicoctl /usr/local/bin/calicoctl # Installing termshark COPY --from=fetcher /tmp/termshark /usr/local/bin/termshark -# Settings -ADD motd /etc/motd -ADD profile /etc/profile +# Setting User and Home +USER root +WORKDIR /root +ENV HOSTNAME netshoot -CMD ["/bin/bash","-l"] +# ZSH Themes +RUN wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh || true +RUN git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions +RUN git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k +COPY zshrc .zshrc +COPY motd motd + +# Running ZSH +CMD ["zsh"] diff --git a/motd b/motd index d8c937c..ec5546e 100644 --- a/motd +++ b/motd @@ -5,4 +5,5 @@ 88 88 88. ... 88 88 88 88 88. .88 88. .88 88 dP dP `88888P' dP `88888P' dP dP `88888P' `88888P' dP -Welcome to Netshoot! (github.com/nicolaka/netshoot) \ No newline at end of file +Welcome to Netshoot! (github.com/nicolaka/netshoot) + \ No newline at end of file diff --git a/profile b/profile deleted file mode 100644 index d40ce46..0000000 --- a/profile +++ /dev/null @@ -1,40 +0,0 @@ -cat /etc/motd - -export CLICOLOR=1 -export LSCOLORS=GxFxCxDxBxegedabagaced -export LS_OPTIONS='--color=auto' - - -# aliases -alias ls='ls $LS_OPTIONS' - - -function prompt { - local BLACK="\[\033[0;30m\]" - local BLACKBOLD="\[\033[1;30m\]" - local RED="\[\033[0;31m\]" - local REDBOLD="\[\033[1;31m\]" - local GREEN="\[\033[0;32m\]" - local GREENBOLD="\[\033[1;32m\]" - local YELLOW="\[\033[0;33m\]" - local YELLOWBOLD="\[\033[1;33m\]" - local BLUE="\[\033[0;34m\]" - local BLUEBOLD="\[\033[1;34m\]" - local PURPLE="\[\033[0;35m\]" - local PURPLEBOLD="\[\033[1;35m\]" - local CYAN="\[\033[0;36m\]" - local CYANBOLD="\[\033[1;36m\]" - local WHITE="\[\033[0;37m\]" - local WHITEBOLD="\[\033[1;37m\]" - local RESETCOLOR="\[\e[00m\]" - - export PS1="\n$RED\u $PURPLE@ $GREEN\w $RESETCOLOR$GREENBOLD\$(git branch 2> /dev/null)\n $BLUE[\#] 🐳 → $RESETCOLOR" - export PS2=" | → $RESETCOLOR " -} - -function title { - echo -ne "\033]0;"$*"\007" -} - -prompt - diff --git a/zshrc b/zshrc new file mode 100644 index 0000000..bc06173 --- /dev/null +++ b/zshrc @@ -0,0 +1,141 @@ +# 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/.oh-my-zsh + +# Set name of the theme to load. Optionally, if you set this to "random" +# it'll load a random theme each time that oh-my-zsh is loaded. +# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes +#export TERM="xterm-256color" +ZSH_THEME="powerlevel10k/powerlevel10k" + +# Set list of themes to load +# Setting this variable when ZSH_THEME=random +# cause zsh load theme from this variable instead of +# looking in ~/.oh-my-zsh/themes/ +# An empty array 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. +# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# 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? (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 + zsh-autosuggestions + yarn + web-search + jsontools + macports + node + sudo + docker +) + +source $ZSH/oh-my-zsh.sh +# User configuration +cat motd + +# 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" + +# test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh" + +# Reload the plugin to highlight the commands each time Iterm2 starts +#source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + + +### VISUAL CUSTOMISATION ### +# Elements options of left prompt (remove the @username context) +POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(host dir rbenv) +# Elements options of right prompt +POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=() +# Add a second prompt line for the command +POWERLEVEL9K_PROMPT_ON_NEWLINE=false + +# Add a space in the first prompt +POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='' + +# Visual customisation of the second prompt line +#local user_symbol="$" +#if [[ $(print -P "%#") =~ "#" ]]; then +# user_symbol = "#" +#fi +#POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%{%B%F{black}%K{yellow}%} $user_symbol%{%b%f%k%F{yellow}%} %{%f%}" + + +# Change the git status to red when something isn't committed and pushed +POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='red' + +# Add a new line after the global prompt +POWERLEVEL9K_PROMPT_ADD_NEWLINE=true + + +# Colorise the top Tabs of Iterm2 with the same color as background +# Just change the 18/26/33 wich are the rgb values +echo -e "\033]6;1;bg;red;brightness;18\a" +echo -e "\033]6;1;bg;green;brightness;26\a" +echo -e "\033]6;1;bg;blue;brightness;33\a"