ZSH Aqua is a ZSH environment configuration which aims to be nice-looking, functional, flexible, and lightweight. ZSH Aqua can be used out of the box with a pre-included theme, or you can make your own theme using ZSH Aqua as a foundation.
themes/dolphin.zsh
themes/narwhal.zsh
themes/stingray.zsh
Command | Description |
---|---|
alias_value <alias> |
Display what an alias resolves to. |
dir |
List directory contents as well as disk usage and repo information. |
la |
ls -a |
catn |
cat --number |
g |
grep |
cd.. |
cd .. |
lu [directory=.] |
List file sizes of contents of directory . |
take <directory> |
Create directory and cd into it. |
up [n=1] |
Cd up n directories. |
back |
Go back to the directory you were previous in. |
forward |
Go forward to the directory just backed out of (only remembers the most recent one). |
d |
Print the directory history. |
check <file> |
Perform md5, sha1, and sha256 checksums on file . |
getip |
Get computer's public IP address. |
genpasswd [length=10] |
Generate random password of length length . |
tree |
Display directory tree. |
zsh_stats |
Display command usage stats from the zsh history. |
urlencode [-rmP] <string> |
Url encode string .-r causes reserved characters ;/?:@&=+$, to be escaped-m causes "mark" characters _.!~*''()- to be escaped-P causes spaces to be encoded as %20 instead of + |
urldecode <string> |
Url decode string . |
ZSH Aqua also adds does the following:
- Adds a command timing system. Execution time will be printed if a command takes more than 5 seconds to run.
- Configures zsh completion system.
- Includes system for getting git repo information via the
git_info
function. Seegit.zsh
. StarterZSH_THEME_GIT_PROMPT
variables are also set at the top offunctions.zsh
. - ZSH Aqua comes pre-shipped with an
LS_COLORS
configuration. - Grep config.
- ZSH history config.
- Configured column output for
lsblk
.
Lastly, ZSH Aqua defines terminal colors to make writing themes more user-friendly. Dictionaries $fg
and $bg
contain foreground and background colors respectively, and $fx
contains other formatting codes. Probably easiest just to look at style.zsh
.
- Install ZSH if you haven't already, and enter ZSH.
- Run the following install script. This will install ZSH aqua under
~/.zsh-aqua
.
cd
if [ -d ".zsh-aqua/" ]
then
echo "Directory .zsh-aqua/ already exists. Please remove it."
else
mkdir .zsh-aqua && cd .zsh-aqua
wget "https://raw.githubusercontent.com/jeremy-rifkin/zsh-aqua/master/bundle.tar.gz"
tar -xzf bundle.tar.gz && rm bundle.tar.gz
cd ..
fi
Or:
bash <(curl -s https://raw.githubusercontent.com/jeremy-rifkin/zsh-aqua/master/download.sh)
- Add the following to the top of your
~/.zshrc
file (create it if it doesn't exist). This will load ZSH Aqua when you open a new shell. (Replace<theme>
with the theme you want to use)
ZSH=~/.zsh-aqua
source $ZSH/aqua.zsh
source $ZSH/themes/<theme>.zsh
- Run
source ~/.zshrc
to load changes, or restart your shell.
I use the following color palette, and as the pre-included themes might not work with other palettes (although that can be fixed):
Here's the raw hex values:
{
black: "#263238",
red: "#FF5252",
green: "#69F0AE",
yellow: "#FFD740",
blue: "#3FC4FF",
magenta: "#FF4081",
cyan: "#65FCDA",
white: "#546E7A",
lightBlack: "#546E7A",
lightRed: "#FF5252",
lightGreen: "#69F0AE",
lightYellow: "#FFD740",
lightBlue: "#3FC4FF",
lightMagenta: "#FF4081",
lightCyan: "#65FCDA",
lightWhite: "#ECEFF1"
}
As well as the following terminal configuration:
{
foregroundColor: "#ECEFF1",
backgroundColor: "#263238",
selectionColor: "rgba(135,135,135,0.2)"
}
ZSH Aqua is released under the MIT license. See LICENSE.txt
.