Christmas is almost here, and in the Northern Hemisphere, nights are drawing in, the temperature's dropping, and fuel prices aren't getting any cheaper.

As the hoarfrost settles across your eyebrows and icy stalactites form from your nostrils, warm yourself with the light of a log fire in your terminal, or embrace the weather with a CLI rainstorm.

Why Would You Want a Roaring Fire in Your Terminal?

Even wizened old terminal dwellers occasionally like to get into the Christmas spirit. Even if you're not religious, you can cheer up a cold room with the virtual cracking wood and the heat emanating from your laboring CPU fans as you compile another project in a different terminal.

If you've guests to join you in a sing-along to royalty-free Christmas music, while you pass around your tech-themed secret Santa gifts, there's no better background than a retro log fire to get everyone in the spirit.

And suppose your Scrooge-like nature and repeated calls to RTFM mean that no one comes to your party, or you end up with a truly horrible Microsoft Christmas sweater. In that case, your terminal can console you with suitably maudlin animations of raindrops falling in a puddle.

Install Fireplace and Puddle on Linux

Fireplace and Puddle both require ncurses to run. To install ncurses on Debian or a derivative distro:

        sudo apt install libncurses5-dev libncursesw5-dev

To install ncurses on a Red Hat-related distribution:

        sudo yum install ncurses-devel

For Fedora (22+):

        sudo dnf install ncurses-devel
    

ncurses is also available in the Arch User Repository (AUR).

You can now clone the GitHub repo for Fireplace:

        git clone https://github.com/Wyatt915/fireplace.git
    

Once the operation is complete, move into the new directory with:

        cd fireplace
    

Then, compile Fireplace by running:

        make
    

If you want to be able to run Fireplace from any location, you should also run:

        make install
    

The procedure for Puddle is virtually identical. First clone the Puddle repository:

        git clone https://github.com/Wyatt915/puddle.git
    

Then, move into the new directory:

        cd puddle
    

...and compile Puddle with:

        make
    

Use Fireplace and Puddle to Set the Mood for the Festive Season!

Just as throwing a new log on a real fire will change the way it moves and alter the height of the flames from a feeble glow to a towering inferno, you can adjust the properties of your virtual fire by adding some arguments.

By default, Fireplace uses the "@" character to make its flames dance. You can specify the character of your choice using the -c switch. For instance:

        fireplace -c F
    

...will result in a roaring fire composed entirely of the letter F.

a fire composed entirely of the letter F

Unfortunately, Fireplace does not render Unicode characters, so we could not create a furnace composed of Christmas trees, snowmen, or snowflakes.

You can set the maximum temperature of the flames with the -t switch. The default value is 10, and a higher value will give taller flames.

Douse the flames at any time with the q key.

Puddle comes with a few more configuration options, and you can use -p to set the color options to either 0 for monochrome or 1 to suit your mood.

You can change the behavior of the virtual water, too. -d sets the damping factor, with a smaller damping factor meaning that ripples die out faster. -i determines the rainfall intensity. Higher intensity means more raindrops per second.

puddles in a terminal window

We found that the following command creates an especially pleasing and slightly hypnotic effect:

        puddle -p 1 -i 9 -d 1
    

Have Yourself a Happy Terminal-Based Christmas This Year

Christmas isn't just about giving gifts, spending time with family, and showing off cool command-line tricks in your Linux terminal. For a truly great festive atmosphere, you need to get your neighbors supping the Christmas spirit, too. Why not light up the outside of your house with a Christmas-themed projector display?