Split transient and permanent files in .obsidian

Use case or problem

I want to backup and version control important files in .obsidian such as the configuration options (eg app.json) but not backup transient and reproducible files (eg workspace.json, plugin installation files).

It’s even worse for plugins. In obsidian-git, data.json contains configuration options so I want to backup it. Good. But in recent-files-obsidian, data.json contains both transient data (which files have recently been used) and permanent data (configuration).

Proposed solution

Change the file structure to split transient and permanent files, for example (1) .obsidian/data (for transient data) including .obsidian/data/, (2) .obsidian/plugins (for files that are coming from plugin installation), and (3) .obsidian/conf including .obsidian/conf//.

This way you can add simply add .obsidian/data and .obsidian/plugins to .gitignore.

Current workaround

A .gitignore with many entries, different for each plugin, does part of the job. No work-around for the issue with plugins’ data.json where transient and permanent data is in the same file.

Display go manged. I mean:

  1. .obsidian/data including .obsidian/data/plugins/$plugin/ for transient data
  2. .obsidian/plugins/$plugin/ for files that are coming from plugin installation
  3. .obsidian/conf including .obsidian/conf/plugins/$plugin/ for settings that should be permanent