DEV Community

Cover image for Merry Christmas… in Your Linux Terminal 🎄
Igor Giamoniano
Igor Giamoniano

Posted on

Merry Christmas… in Your Linux Terminal 🎄

And a Gentle Introduction to the Python CLI Ecosystem

Introduction

Today is Christmas — and if you’re reading this, I hope you’re doing well.

After a long year, our minds often try to create a false sense of urgency. Sometimes, the best thing we can do is pause, breathe, and say:
“Not now.”

With that in mind, this article brings a simple, fun, and educational tutorial, perfect for the holiday season.

The goal is straightforward:
👉 run a Christmas tree animation directly in your Linux terminal.

Yes — Linux developers would rather write 100+ lines of code than decorate a real tree.
And we deeply respect that.


What Are We Building?

We’ll run a Python-based CLI called christmastree, using a tool called pipx.

Along the way, you’ll learn:

  • What pipx is and why it matters
  • How to run Python CLI tools safely and in isolation
  • How to run christmastree on:
    • most Linux distributions
    • Big Linux / Manjaro (alternative setup)

What Is pipx?

pipx is a tool designed to install and run Python applications in isolated environments, without affecting:

  • the system Python
  • other projects
  • existing virtual environments

Each application gets its own virtual environment, but remains accessible globally through your PATH.


Examples of CLI Tools Installed with pipx

Popular examples include:

  • black — code formatter
  • poetry — dependency manager
  • httpie — terminal HTTP client
  • christmastree — your animated Christmas tree 🎄

Installation (Official Method — Works on Most Distros)

Step 1: Install pipx

pip install pipx
pipx ensurepath
Enter fullscreen mode Exit fullscreen mode

You may need to open a new terminal afterward.


Step 2: Clone the official repository

git clone https://github.com/MEHighKing/christmastree.git
cd christmastree
pipx install .
Enter fullscreen mode Exit fullscreen mode

Step 3: Run it 🎄

christmastree
Enter fullscreen mode Exit fullscreen mode

Alternative Setup — Big Linux (Manjaro)

Big Linux is a Brazilian distribution based on Manjaro, so the only difference is how pipx is installed.

Install pipx via pacman

sudo pacman -S python-pipx
Enter fullscreen mode Exit fullscreen mode

Then follow the same steps:

git clone https://github.com/MEHighKing/christmastree.git
cd christmastree
pipx install .
Enter fullscreen mode Exit fullscreen mode

Common Issue: Terminal Size

If you see this error:

Please enlarge your terminal to at least 100x40 (current: 85x34).
[exit=1]
Enter fullscreen mode Exit fullscreen mode

Just resize your terminal window.

Check current size with:

tput cols; tput lines
Enter fullscreen mode Exit fullscreen mode

Once it reaches 100x40 or more, run:

christmastree
Enter fullscreen mode Exit fullscreen mode

Important Note ⚠️

Some tutorials suggest running:

curl -L https://raw.githubusercontent.com/MEHighKing/christmastree/master/christmastree.sh | bash
Enter fullscreen mode Exit fullscreen mode

This does not work.
There is no shell script in the repository. The correct approach is using pipx.


Conclusion

I hope everything ran smoothly 🎄

If you enjoyed it, consider visiting the official repository and leaving a ⭐ — those developers are powered by coffee and code ☕🐧

🔗 Official repository:
https://github.com/MEHighKing/christmastree

Merry Christmas — and long live Linux! 🐧 🖖

Top comments (0)