idid CLI

idid CLI

Date

Date

March 2026

March 2026

I spend a lot of time experimenting with my Linux setup. New terminals, editors, themes, utilities, and sometimes entire workflows. Arch Linux makes it incredibly easy to try things out, which is both a blessing and a problem.

Over time, my system became a reflection of constant experimentation. I would install tools using pacman, try alternatives through Flatpak, build something from source, and occasionally remove things just as quickly. But after a while, I started noticing a gap. I had no clear way to answer simple questions like what I installed last month, how I installed it, or why I removed something that once seemed useful.

System logs do exist, but they are scattered, inconsistent, and not meant to be read like a story of how your environment evolves. They tell you what happened, but not in a way that helps you understand your own decisions.

That frustration led me to build idid, a small tool designed to track my own workflow.

๐ŸŒŸ What I Created

idid is a lightweight CLI utility written in Rust that acts as a personal software activity journal. Instead of relying on fragmented logs, it allows me to explicitly record every install and removal in a clean, structured format.

Each action is logged with a timestamp, the package name, and the source it came from, whether that is pacman, Flatpak, or a manual build. Over time, this creates a simple but powerful timeline of how my system changes.

What started as a small utility quickly became something I use every day. It gives me visibility into my own habits, helps me retrace decisions, and makes my environment more reproducible.

๐Ÿ”Ž Features

  • Simple CLI commands to log installs and removals

  • Tracks source of installation (pacman, Flatpak, source, etc.)

  • Generates a clean, human-readable CSV log

  • Fast, minimal, and dependency-free binary

๐Ÿšง What I Am Improving

  • This project is intentionally simple, but there is a lot I want to build on top of it:

  • Adding notes to capture why something was installed or removed

  • Building a better history view with filtering and search

  • Tracking currently active packages

  • Moving to XDG-compliant storage for better system integration

  • Exporting logs for analysis or reproducibility

๐Ÿ› ๏ธ Tech Stack

  • Rust

  • CLI design and file-based logging

๐ŸŽฏ Why This Project Matters to Me

This project is less about solving a large-scale problem and more about solving a real, personal one well.

As someone who constantly experiments with tools and workflows, I wanted a way to make that experimentation more intentional and traceable. idid gives me that clarity. It turns a messy history of installs and removals into something structured and understandable.

It also represents something important in my journey as an engineer. Coming from a machine learning background, I wanted to step into systems programming and build something fast, minimal, and practical. Rust gave me that opportunity, and this project became my way of learning it by solving a problem I actually face.

In the end, idid is a small tool, but it reflects a bigger idea: understanding your own systems better by making your actions visible.

More projects

Got questions?

Iโ€™m always excited to collaborate on innovative and exciting projects!

Got questions?

Iโ€™m always excited to collaborate on innovative and exciting projects!