root_rain

An aesthetic weather animation for the terminal, written in Rust.

← Back to portfolio

Installation

root_rain is an aesthetic weather animation for the terminal, written in Rust. It is available as a crate on crates.io and as an AUR package for Arch Linux.

Automated installation (recommended)

  1. Clone the repository:
    git clone https://github.com/execRooted/root_rain.git
  2. Navigate to the project directory:
    cd root_rain
  3. Run the installer:
    sudo ./install.sh

The installer will automatically:

  • Install Rust if not present
  • Build root_rain
  • Install it system-wide to /usr/local/bin/root_rain

From crates.io

cargo install root_rain

Arch Linux (AUR)

If you have the PKGBUILD file, install using makepkg:

yay -S root_rain
# Or any AUR helper

This builds and installs the package globally.

Usage

Run the animation with default settings:

root_rain

Press Ctrl+C at any time to exit the animation.

Command line options

OptionDescription
-s, --speed <SPEED>Set animation speed (fast=1.5x, medium=1.0x, slow=0.5x)
-c, --color <COLOR>Set drop color (black, red, green, yellow, blue, magenta, cyan, white, grey)
-b, --boldMake drops bold
-w, --weather <WEATHER>Set weather type (rainy, snowy)
--direction <DIRECTION>Set horizontal drift (left, right, down)
--continuityEnable continuity mode (particles disappear instead of staying)
-l, --live [COLOR1] [COLOR2]Enable live effect (colors fade from color1 to color2 based on height, defaults to blue white if no colors specified)
--character <CHAR>Set all particles to a specific character

Examples

Snowy weather with switching live colors:

root_rain --weather snowy -l

Snow with left drift:

root_rain --weather snowy --direction left

Fast animation with continuity:

root_rain --speed fast --continuity

Weather types

The --weather option selects the kind of simulation drawn:

  • rainy — vertical streaks falling downward (the default).
  • snowy — softer particles drifting, optionally with horizontal drift.

Colors

The --color option accepts any of the following named colors:

  • black, red, green, yellow, blue, magenta, cyan, white, grey

With the --live effect, colors fade between two colors based on the particle's height. If no colors are given, it defaults to a blue→white gradient.

Controls

  • Ctrl+C — exit the animation.