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. 🙂
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:
curl
, jq
, tar
, dpkg-deb
)./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..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:
These packages should also work for Ubuntu and any other Debian-based distribution, though I've only tested them on my own setup.
If you have one that you think should be added to the repo, let me know!
As always,
Michael Garcia a.k.a. TheCrazyGM
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. 😁🙏💚✨🤙