The goal is to have a -dev version and a stable repository-based version installed at the same time, but with different data and config directories so that the dev version is not operating on(and possibly corrupting) the stable version's data. They don't actually have to be able to run at the same time, although I wouldn't exactly complain about that extra feature.

I already know and use tools like stow or checkinstall, however as far as I can tell they're mostly for the installation part, not the actually running part.
I also know and use env vars like XDG_DATA_HOME and XDG_CONFIG_HOME(fd.org specs) and - if the program actually uses them - they work pretty much exactly as I hoped they would.

However always creating wrappers that call the compiled version with e.g. XDG_DATA_HOME=~/dev/<program>/data XDG_CONFIG_HOME=~/dev/<program>/config is kind of a nuisance. Plus, some of them then create their own GSettings/dconf folders so that I risk them getting out of sync with my global settings.

This time in particular it's about a feed reader called Liferea which stores its settings in ~/.config/liferea/ and its database in ~/.local/share/liferea.
Using XDG_*_HOME prefixes works, but I'm looking more for something like checkinstall, some wrapper for make install maybe. Or possibly even some clever bash-fu that sets them if I'm calling a program from a certain directory or so. Like directory == ~/dev/<prog>/ ? -> XDG_*_ ...

I've already searched stackexchange and askubuntu, but all I could find was about keeping the binaries separated([1] [2] [3] [4]).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.