Uninstall

Order matters: disable the user service first. A package cannot stop a service running inside your session, and removing the package underneath a live mount leaves the mountpoint behind.

systemctl --user disable --now wusel@default   # unmount now, and stop auto-mounting
sudo dnf remove wusel wusel-nautilus            # or: sudo apt remove wusel wusel-nautilus

Repeat the first line for every named account you enabled.

On dnf and apt, removing wusel takes wusel-nautilus with it, because it depends on wusel; naming both does the same. On Arch, name both: sudo pacman -R wusel wusel-nautilus.

Your Nextcloud is untouched throughout. Wusel only ever mounted it.

What removal takes with it

Everything the packages own: the binary, the systemd unit template, the search provider and the default account’s sidebar registration from wusel; the Nautilus extension and its emblem icons from wusel-nautilus. Sidebar registrations that Wusel wrote for named accounts (/usr/share/applications/org.freedesktop.CloudProviders.wusel.*.desktop) are cleaned up too, by the wusel package’s removal scriptlet — the RPM’s %postun, the DEB’s postrm, the Arch package’s post_remove.

What is deliberately left behind

Your per-user data:

  • ~/.config/wusel — configuration, credentials and pins

  • ~/.local/state/wusel — the state database

  • ~/.cache/wusel — downloaded file contents

  • /var/tmp/wusel-<uid>/ — the state database, if Wusel moved it there because your home directory is on a network filesystem

Packages never touch files in a home directory, and keeping these means a later reinstall picks up exactly where you left off, with no new login.

Wipe everything and start fresh

When you want a genuinely clean slate — reinstalling because something is broken — remove that data as well:

systemctl --user disable --now wusel@default             # if not already done
systemctl --user reset-failed 'wusel@*' 2>/dev/null || true
rm -rf ~/.config/wusel ~/.local/state/wusel ~/.cache/wusel
rm -rf /var/tmp/wusel-$(id -u)                           # only exists if the database was relocated
secret-tool clear service wusel 2>/dev/null || true      # the app password in the keyring

The last line is a no-op if the password was in the 0600 file rather than the keyring — that file went with ~/.config/wusel.

After this nothing of Wusel remains: a fresh install plus wusel login starts from zero.

The app password is revocable on the server side too. If you are decommissioning a machine rather than reinstalling, revoke it in Nextcloud under Settings → Security → Devices & sessions.

If you removed the package first

Disabling the service also clears its enable symlink under ~/.config/systemd/user. If the package went first and left a dangling link behind:

systemctl --user disable wusel@default
systemctl --user daemon-reload

This tidies it up even though the unit file is already gone.

A source install

There is no package to remove, and no scriptlet cleans up after you. Disable the service, then remove what you installed by hand — the sidebar registrations first, while the binary that removes them is still there:

systemctl --user disable --now wusel@default
rm -f ~/.config/systemd/user/wusel@.service      # the unit `wusel service enable` wrote
systemctl --user daemon-reload
sudo wusel desktop uninstall-provider            # add --account NAME for each named account
sudo rm -f /usr/local/bin/wusel                  # or ~/.local/bin/wusel
cd /path/to/wusel/integration/nautilus && sudo make uninstall
sudo /path/to/wusel/integration/gnome-search/install.sh --uninstall

Skip the lines for the pieces you never installed: the sidebar registration exists only if you ran sudo wusel desktop install-provider, the search provider only if you ran integration/gnome-search/install.sh.

Then the per-user data above — including /var/tmp/wusel-<uid>/ — if you want it gone.