If They Won't Make a Debian Package, I'll Build It Myself

Hey everyone,

I recently wanted to try out a new browser I've heard good things about called Zen. It's based on Firefox but focused on security and a distraction-free experience. Since I've named both my Qtile and Zsh configs "zen," I thought it was only fitting to give it a shot.

So, I went to the Zen Browser website and, to my disappointment, there was no official Debian package available. I'm not a fan of manual installations for larger applications if I can avoid it; I much prefer the clean installation, updating, and removal that a package manager provides.

So, I didn't do what any sane person would: walk away disappointed... No, I wrote a script to grab the latest binary release and build a .deb package for me. Because of course I did. 🙂


New Repo: create-deb-scripts

After writing the script for Zen Browser, I realized there are a few other applications I use that also don't provide official .deb files. This led me to create a new repository to house these little helper scripts.

Each script in this repository follows the same simple but effective process:

  1. Check Dependencies: It first ensures you have the necessary tools installed (curl, jq, tar, dpkg-deb).
  2. Fetch Latest Release: It uses the GitHub API to find the latest official release of the application.
  3. Download Binary: It downloads the correct tarball for Linux x86_64 systems.
  4. Build Package Structure: It creates a proper Debian package directory structure, placing the application files in /opt/, creating a wrapper script in /usr/local/bin/ so you can run it from anywhere, and adding icons and a .desktop file for proper integration with your desktop environment.
  5. Create .deb File: Finally, it uses dpkg-deb to build the final .deb package, which you can then install normally.

So far, I have scripts to create Debian packages for:

  • Zen Browser: The privacy-focused web browser that started it all.
  • Zed Editor: A high-performance, multiplayer code editor.

These packages should also work for Ubuntu and any other Debian-based distribution, though I've only tested them on my own setup.

screenshot-20250902-075625.png

If you have one that you think should be added to the repo, let me know!

As always,
Michael Garcia a.k.a. TheCrazyGM

0.15620108 BEE
1 comments

Dude, that's brilliant! I love automation like that! I've never tried to make a .deb package, but on Arch I sometimes need to install them because there's nothing in an Arch-compatible repository, so I use an app, really just a script, debtap, that converts a .deb package into a .pkg.tar.zst package that can be installed and uninstalled with dependency tracking. It definitely comes in handy from time to time, but I like your way of doing this a lot more. 😁🙏💚✨🤙

0.00024678 BEE