Installing OneDrive in Fedora Silverblue-Bluefin, via brew + GUI and System Tray icon

After tried installing OneDrive by different methods in Bluefin-DX i settled on brew.

I tried with Wine, distrobox, and docker. They work but they require a very involved role on permissions, services, creation of volumes, etc. It turned out that for me installing OneDrive via brew is the simplest, and also I get a GUI and a system tray icon.

Here are the steps:

  1. This assumes brew is already installed in your Fedora Silverblue or derivative. Source code and detailed documentation for OneDrive CLI for Linux here GitHub - abraunegg/onedrive: OneDrive Client for Linux. That is your best friend after installation, together with onedrive --help
  2. If there is already a folder ~/.config/onedrive from a previous installation move it somewhere else
  3. Install OneDrive with brew install onedrive
  4. After completing the installation we have two options:
    1. Run OneDrive as a brew service; or
    2. Run OneDrive as an application
  5. Picking one or the other depends of your preference. Running it as a service is a hands off approach and may not show the sync progress real time in a GUI. Running OneDrive as an application resembles much of the Dropbox client for Linux that is installed with flatpak. In this case, to make it simpler, I will go with OneDrive as an application with /home/linuxbrew/.linuxbrew/opt/onedrive/bin/onedrive --monitor
  6. The onedrive command may not work until restarting the machine
  7. Once logged in, run onedrive in a terminal. You could also run which onedrive to know the location of the binary
  8. If your plan is customizing a bit the OneDrive synchronization, copy the original configuration file in the brew system folders to the regular user config folder ~/config/onedrive with cp /home/linuxbrew/.linuxbrew/share/doc/onedrive/config ~/.config/onedrive/.
  9. In my case I have the cloud folders under a ext4 partition called synco. We will need to change the destination folder by modifying the newly copied file ~/.config/onedrive/. Open it with a text editor
  10. Modify the OneDrive config file with this line sync_dir = "/var/mnt/synco/account_email/OneDrive"
  11. Test that the configuration has been recognized by OneDrive with onedrive --display-config. If it isn’t, probably OneDrive was started as a brew service. Stop it with brew services stop onedrive. Reboot and then execute brew services info onedrive in the terminal. The OneDrive service should now NOT be running or enabled. And that is alright because we will be running it as an application. We will handle it with a GUI client
  12. Install the AppImage OneDrive GUI Client downloaded from Releases pozdena/OneDriveGUI · GitHub
  13. Integrate the AppImage via AppImage Pool which can be installed with flatpak install io.github.prateekmedia.appimagepool. You could use the AppImage integrator of your preference
  14. Make OneDrive to auto-start with Gnome Tweaks - Startup Applications
  15. Run the OneDrive GUI. If OneDrive is not started by running the OneDrive GUI then explicitly indicate the onedrive binary in brew with /home/linuxbrew/.linuxbrew/bin/onedrive instead of the default onedrive in Settings.

Progress

Tray Icon
image

Settings

I just saved me $39 for an Insync subscription!

3 Likes

Is it possible to do something similar for Google Drive?