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
@lsarkisov
Copy link

Thank you!

@preethamkinney
Copy link

Good job.

@eshaan7
Copy link

eshaan7 commented Jun 16, 2019

This is pretty cool. But bash themes are confusing. And I prefer zsh so I made parrotOS theme for oh-my-zsh. it can be found here: https://github.com/eshaan7/ParrotTerm

@zMAX17
Copy link

zMAX17 commented Sep 8, 2019

It's worked when i use Basic Terminal. But when i log as Root, the Bash Theme back to Kali. What's wrong?

@cheeesy
Copy link

cheeesy commented Oct 2, 2019

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

@cheeesy
Copy link

cheeesy commented Oct 2, 2019

It's worked when i use Basic Terminal. But when i log as Root, the Bash Theme back to Kali. What's wrong?

This is most likely to root using a different .bashrc file, presumably /root/.bashrc .
If you want root to look the same as in non-root, you will need to copy your user's .bashrc to the root directory

@j3st3r-LulzSec
Copy link

I run parrot 4.7 and switched to zsh and lost my color scheme I miss it

@hafiztsalavin
Copy link

It's worked when i use Basic Terminal. But when i log as Root, the Bash Theme back to Kali. What's wrong?

This is most likely to root using a different .bashrc file, presumably /root/.bashrc .
If you want root to look the same as in non-root, you will need to copy your user's .bashrc to the root directory

it is works, nice i love it 😍

@eshaan7
Copy link

eshaan7 commented Oct 6, 2019

I run parrot 4.7 and switched to zsh and lost my color scheme I miss it

https://github.com/eshaan7/ParrotTerm Try this out

@charbelsako
Copy link

charbelsako commented Jan 17, 2020

Can someone explain how you can add that line that goes to the next line.
I want to add that only to my prompt
Never mind I did it. You have to use octal characters.

@alenpaulvarghese
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?

@koawchana
Copy link

Thanks and i love it 👍
Screenshot from 2020-03-18 16-37-57

@Capitalmind
Copy link

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?

Open terminal, run $ ls -a to check .bashrc is listed.
$ mv .bashrc .bashrcBAK
$ touch .bashrc
$ nano .bashrc
ctrl + shift + v (to paste the code above into nano)
ctrl + o to write out the data (save it)
ctrl + x to exit nano
$ . ~/.bashrc (refreshed bash)

@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