Skip to content

Instantly share code, notes, and snippets.

@rickdaalhuizen90
Created February 12, 2017 17:20
Show Gist options
  • Save rickdaalhuizen90/d1df7f6042494b982db559efc01d9557 to your computer and use it in GitHub Desktop.
Save rickdaalhuizen90/d1df7f6042494b982db559efc01d9557 to your computer and use it in GitHub Desktop.
Parrot Os bash theme for ubuntu
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1="\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h'; else echo '\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h'; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\$\[\e[0m\]"
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1="\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h'; else echo '\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h'; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\$\[\e[0m\]"
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h'; else echo '\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h'; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\$\[\e[0m\]"
#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
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 [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
@HenriBDB
Copy link

Hello @spadazz ,
In this case, the character "✗" is represented by the code \342\234\227

Following this reply, is there a place where we can find all glyphs and their corresponding codes?

@HenriBDB
Copy link

Following this reply, is there a place where we can find all glyphs and their corresponding codes?

Adding icons and shapes to your prompt!

For those wanting to customise more aspects of this prompt by changing for example the cross mark, the codes used to display the special characters are UTF-8 Octal encodings separated by backslashes.

This handy site can be used to convert UTF-8 strings to Octal.
e.g.: 🌱 corresponds to the code \360\237\214\261

If you don't know how to type the special character you are looking for, here's a step-by-step:

  1. Find the special character in this UTF-8 character list or in this UTF-8 icons website.
  2. Copy paste the character in your .bashrc or use this link to get the octal code and use it instead (it's best to use the octal encoding in the .bashrc).

More about UTF-8 Encoding can be found here.

@HamzaAatar
Copy link

I am a noob how would I use this to make Ubuntu look like parrot os? Also what coding language is that?

Go to your home directory you will find a hidden file .bashrc ( you can use ls -alt to find it ) modify it by replacing the already existing code with the code above.

@sharpicx
Copy link

nice parrot os bash theme, work for kali linux.

@jibaromar
Copy link

Amazing!! Thank you so much

Copy link

ghost commented Nov 22, 2020

Well I want to add the git functionalities. like showing branch names and so on. How do we do that? any help

@uqlel
Copy link

uqlel commented Nov 24, 2020

Hey, so I love the look of Parrot OS but im running Ubuntu and im going to stick with it. Im sort of a noob so can somebody please te me how to use this?

Remove content from ~/.bashrc
Paste this to ~/.bashrc
Restart your shell

@bgyvvtvd32
Copy link

Thank you
Screenshot_٢٠٢٠١٢٠١_١١٢٤٤٩

@Anxowin-axel
Copy link

Merci , beaucoup !

@imAneeshD
Copy link

Thanks a lot for this! Here's a picture upon request of @jayeve
parrot_bashrc

Hey can we change the color of the lines?
can u instruct how?

yes,, in the terminal, go to edit/preferences then edit

@MABT11
Copy link

MABT11 commented Mar 29, 2021

how can i change the color prompt in bash currently it is green i want to change it to white or cyan.

@gurupawar
Copy link

Can i use this in windows terminal with zsh?

@imAneeshD
Copy link

imAneeshD commented Oct 13, 2021 via email

@abdullah3102
Copy link

sudo apt install gedit
gedit .bashrc

@xkibz
Copy link

xkibz commented Apr 24, 2023

Worked like charm! thanks

@JuanDiaz5673
Copy link

Could you tell me where in the script I’d have to modify to put a space after the $

@SinonCuriosus
Copy link

SinonCuriosus commented Mar 20, 2024

I am copying exactly that .bshrc file and it seems it changed the outlook (Idk if any update to parrot may have done this or not....)

Anyone knows how to fix this?
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment