I’m creating the Snap package for abraunegg’s onedrive open source client for Linux.
The onedrive client by default is set to store the configuration files under $HOME/.config/onedrive and by default set to use the folder $HOME/OneDrive to synchronize the files. So far, I believe this could be addressed by using some of available interfaces.
The difficult here is that a user can set the synchronization folder to be anywhere he wants, that’s why I’m requesting classic confinement.
As described, we recommend strict mode and that the snap plugs home and removable-media which should cover all typical use cases. As for $HOME/.config/onedrive, this could be covered by personal-files (though please read through the linked documentation).
That’s true, it can cover most of the use cases. But users might still want to place the synchronized folder somewhere else than home and removable media. In my working computer, for example, I have a disk attached to my machine to store data, and it’s mounted at /local, which can not be changed.
Please don’t use $HOME/.config/onedrive to store configuration. This pollutes the legacy configuration folder with data which would be more elegantly stored (and versioned) in the snap-specific home directory.
Thanks for the additional information. Arbitrary file access in the manner described is not a justification for classic. (Note that ‘/local’ is not a LSB FHS location and isn’t currently supported via the interfaces). If there are FHS compliant locations that are not covered by the existing interfaces, we can consider adding them or you can considering hostfs (/var/lib/snapd/hostfs in the snap’s runtime) access via the system-files interface.