For example, when you configure File Explorer widget you can setup rules to open some files with a specific tool instead of a default application. When the widget is imported on another machine the specified tool isn't available there and can't be used by the widget. Hope it makes it clear.
So heres my idea. You likely had the same one already but maybe not!
So in apps like PHP Laravel Framework, it uses a .env file to set settings such as Database login and password and things like that that you wouldn't want to be uploaded to a GitHub repo so they add this 1 file to the gitignore file and it contains all the user specific settings for the app and then the config files simply pull in the values from the .env files.
So with this method they also are ale to have a .env file for Dev server, Production server, etc....each with different values i that 1 file. Sorry if i'm pounding newb info into you I am just wanting to make sure it is understood.
So with this concept, the JSON data in an export file could simply allow the user to define multiple "Work Environments/Computers" in which they can define the tools available on each one with file paths.
I think this is the most flexible solution. So in the Freeter App when creating a Tool record, it would have you first select a work environment. So would also need to add a new entity to store the work environment/computers and then the tool UI would allow to select one from list.
Any thoughts on this?
Also as for embedding data in the PNG files, im curious if you would be able to use your own file extension and still have it parse as a PNG file in computers file explorers