I made a snap for the utility wtfutil
that requires classic confinement to work. wtfutil
is a terminal dashboard application that pulls in data from various APIs as well as local commands to provide an easy to access and quick dashboard of data right in your terminal.
Resources:
Original Project Repo: link
Original Project Website: link
My Snap Repo: link
Reasoning:
external binaries
Data that wtfutil
pulls in via APIs works just fine in strict confinement. I’d use the network plug and everything is good. The problem is, many of the “modules” in wtfutil
get their data from local commands on the machine. A quick search through their source will reveal many instances where external calls are made to commands such as git
, hg
, ufw
, nmcli
, upower
and more.
It’s possible than some of these commands could be covered by plugs or installing the command within the snap, but not all of them. Some need context of the command that’s already running on the user’s machine.
config file
Then there’s also the config file, $HOME/.config/wtf/config.yml
. This is less of an issue. I could create a personal-files
interface for this, but that in itself would also require a “Store Request” approval. The problem there will still be that existing users won’t be able to use their config file without migrating it without the approval, and for new users, the app can’t create the config and so fails. This is because they’re not respecting XDG_HOME
for which I’ve already opened an Issue. While I can do a request for the personal files interface, considering the above issue with multiple binaries, this can all be wrapped up nicely with classic confinement.