Skip to content

Instantly share code, notes, and snippets.

@p-fruck
Last active March 11, 2026 09:38
Show Gist options
  • Select an option

  • Save p-fruck/6ec354da8fb348c19cca013c6c64df76 to your computer and use it in GitHub Desktop.

Select an option

Save p-fruck/6ec354da8fb348c19cca013c6c64df76 to your computer and use it in GitHub Desktop.
Flatpak Nextcloud Client Nautilus Integration

Setup

This has been tested on Fedora Silverblue and might need adaptation for other distros. This setup enables nextcloud integration for nautilus with the flatpak version of the nextcloud desktop client.

Prerequisites

The following packages must be installed

Configuration

As the nextcloud-client-nautilus package depends on the nextcloud-client package, I was unable to install the integration without the full nextcloud client using my system package manager and instead performed the install of the nautilus integration manually, which should work on other distros too, maybe with slight modifications.

The extension itself is a simple python script that can be installed like this:

mkdir -p ~/.local/share/nautilus-python/extensions/
curl -Lo ~/.local/share/nautilus-python/extensions/syncstate.py https://github.com/nextcloud/desktop/raw/master/shell_integration/nautilus/syncstate.py

If you restart nautilus, you should already see your shares in the side panel and be able to use the rightclick context menu. You might have to kill nautilus instances manually beforehand: pkill -9 nautilus

To see the debug output of the nautilus-python extension, use NAUTILUS_PYTHON_DEBUG=misc nautilus

Icons

Currently all sync icons are missing as they would are packaged by the nextcloud-client. You can copy them directly from the nextcloud desktop source code (run this code in bash):

curl -LO https://github.com/nextcloud/desktop/archive/refs/heads/master.tar.gz
tar -xzvf master.tar.gz
for size in 128x128 16x16 256x256 32x32 48x48 64x64 72x72
do
  target=~/.local/share/icons/hicolor/${size}/apps
  mkdir -p ${target}
  for icon in desktop-master/shell_integration/icons/${size}/*
  do
    # basename starts with oC_ instead of Nextcloud_
    basename=$(basename ${icon})
    cp ${icon} ${target}/${basename/oC/Nextcloud}
  done
done
rm -r desktop-master master.tar.gz

Now you should have a "proper" nextcloud desktop integration for nautilus :) Let's hope nautilus will be packaged as flatpak soon and its flatpak extensions become a thing...

@p-sims
Copy link

p-sims commented Jul 19, 2025

Thanks, this works on Bluefin (Version: gts-41.20250713 / FROM Fedora Silverblue 41 - GNOME Version: 47 - Wayland)

I had to swop first curl command para order to this to make it work:

curl -Lo ~/.local/share/nautilus-python/extensions/syncstate.py https://github.com/nextcloud/desktop/raw/master/shell_integration/nautilus/syncstate.py

For some reason (dispute not using fractional scaling), the icons are tiny, and copy link doesn't work (probably because of this Wayland issue), but small steps in the right direciton....
image

Easy way I found to stop nautilus is to search for it in apps within Mission Centre.

@ecodiv
Copy link

ecodiv commented Aug 18, 2025

Thanks, the first step of the integration works great on Ubuntu with Nextcloud as AppImage installed. Thanks! I don't need the icon integration, so didn't try that part.

@p-fruck
Copy link
Author

p-fruck commented Aug 22, 2025

I had to swop first curl command para order to this to make it work:

@p-sims Thanks for pointing this out, I updated my gist accordingly. Let's hope the wayland issue gets fixed soon...

@ecodiv glad to hear that it works with AppImage too ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment