🇧🇷 Leia esta documentação em português
Snapfix is a tool for automatically organizing Snap application .desktop entries in the user's application menu.
- What it does: Detects installed snaps, creates/updates
.desktopfiles in~/.local/share/applications/, fixes categories, resolves icons, and adds an uninstall action via Polkit (pkexec snap remove). - Distribution: Provided as a downloadable standalone binary in GitHub Releases.
- Goal: Allow Linux Mint users to automatically organize Snap applications.
-
Download with:
wget "https://github.com/Eutalix/Snapfix/releases/download/v1.0/snapfix"or download the file from the Releases page.
-
Save the file in a directory of your choice, e.g.,
~/snapfixor~/bin.
After downloading, make the file executable:
chmod +x ~/snapfixTo make it easier to run, you can add the binary's directory to your PATH by editing ~/.bashrc (or ~/.zshrc, depending on your shell). For example, if you saved it to ~/snapfix, add:
# Snapfix
export PATH="$HOME/snapfix:$PATH"Or, if you renamed and saved it to ~/bin as snapfix:
# Snapfix
export PATH="$HOME/bin:$PATH"After editing, reload bashrc:
source ~/.bashrcAlternatively, use a single command to append to the end of your ~/.bashrc. For example, if the binary is in ~/snapfix:
echo 'export PATH="$HOME/snapfix:$PATH"' >> ~/.bashrcOr, if it’s in ~/bin/snapfix:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrcThen reload:
source ~/.bashrcNow you can run snapfix from anywhere:
snapfix --helpOpen a terminal and run the binary directly:
--auto: runs in a continuous loop (default interval is 300s).--force: forces recreation of existing entries.--debug: detailed logging.--background: runs in background (--autoin subprocess).--autostart: enables auto-run on system startup (creates file in~/.config/autostart).--version: shows version info.
-
Help:
~/snapfix --helpShows usage instructions.
-
Run once (manual):
~/snapfixUpdates/creates
.desktopentries for currently installed snaps. -
Run with debug:
~/snapfix --debugShows logs including processed snaps, resolved icons, skipped entries, etc.
-
Force recreation:
~/snapfix --forceRecreates all entries, even if they already exist.
-
Continuous mode:
~/snapfix --autoRuns repeatedly at fixed intervals (default: 300 seconds).
-
Background mode:
~/snapfix --backgroundReturns to terminal and continues running in the background.
-
Enable autostart:
~/snapfix --autostartOn next login, Snapfix will auto-start in background.
Although the binary works with default settings, you can use a JSON config file in ~/.config/snapfix/config.json to customize filters and intervals:
{
"skip_patterns": ["url-handler", "show-updates"],
"skip_name_patterns": ["Show Updates", "URL Handler"],
"freedesktop_categories": {"CustomRaw": "Utility"},
"mapping": {"CustomRaw": "Utility"},
"loop_interval": 600
}-
Create the folder if it doesn't exist:
mkdir -p ~/.config/snapfix -
Edit or create the JSON file with your preferred options.
-
Run the binary normally — it will detect and load this config.
-
To use a config file from another location, use the
--configflag:~/snapfix --config /path/to/other/config.json
- After running Snapfix,
.desktopentries are created in~/.local/share/applications/. - Open your application menu (e.g., GNOME, KDE, Cinnamon) and check if Snap apps appear correctly with icons and categories.
- To uninstall an app via the menu, right-click the icon and use the added “Uninstall” action. If it's not shown, use the terminal:
snap remove <snap_name>.
-
To stop continuous execution: kill the background process (
ps aux | grep snapfix, thenkill <pid>). -
To remove the config:
rm -rf ~/.config/snapfix -
To delete created
.desktopentries, manually remove files in~/.local/share/applications/starting with unwanted snap names. -
To remove the binary: delete the executable file from
~/or wherever it was saved.
- For bugs or questions, visit the Issues page.