- JavaScript 100%
Obsidian plugin that exports plugin data.json and core config files into Markdown inside the vault for sync-safe propagation, and imports them back. Assisted-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .gitignore | ||
| CLAUDE.md | ||
| main.js | ||
| manifest.json | ||
| README.md | ||
Settings Vault Sync
An Obsidian plugin that exports plugin settings and core config files into Markdown files inside your vault, so they sync reliably via Self-hosted LiveSync (or any other vault sync tool), and can be imported back on any device.
Why
Obsidian's .obsidian/ folder contains plugin data.json files and core config files that live outside the vault's note tree. Sync tools like LiveSync sync vault content, not the config folder, so settings changes don't propagate automatically. This plugin bridges that gap by copying settings into Markdown files that live inside the vault.
How it works
Export reads each installed plugin's data.json (plus optional core config files) and writes them as pretty-printed JSON inside a fenced code block in a Markdown file:
_plugin-settings/
plugins/
dataview.md
templater-obsidian.md
...
core/
app.md
appearance.md
hotkeys.md
community-plugins.md
core-plugins.md
Each Markdown file has a source-path frontmatter key that tells the Import step exactly where to write the JSON back on disk.
Import reads those Markdown files, shows a confirmation modal listing which files will be written, which will be skipped (plugin not installed on this device), and which are excluded, then writes them to .obsidian/ via the vault adapter. A restart of Obsidian is needed for changes to take effect.
Installation
Manual
- Download
main.jsandmanifest.jsonfrom this repository. - Create a folder
.obsidian/plugins/settings-vault-sync/inside your vault. - Copy both files into that folder.
- Enable the plugin in Settings → Community plugins.
Via BRAT
- Install BRAT.
- Add this repository URL in BRAT's settings.
- Enable the plugin.
Usage
| Action | How |
|---|---|
| Export settings | Ribbon icon (upload arrow) or command palette: Export settings to Markdown |
| Import settings | Ribbon icon (download arrow) or command palette: Import settings from Markdown |
Settings
- Output folder — vault folder where Markdown files are written (default:
_plugin-settings). - Include core Obsidian settings — toggle export/import of
app.json,appearance.json,hotkeys.json,community-plugins.json,core-plugins.json. - Per-plugin toggles — exclude individual plugins whose settings are device-specific (e.g. path-sensitive plugins, or the LiveSync plugin itself).
- Per-core-file toggles — exclude individual core config files.
Notes
- Works on desktop and mobile (iOS/Android) — uses only the cross-platform
vault.adapterAPI. - No build step required.
main.jsis plain CommonJS with no npm dependencies. - Import validates JSON before writing; corrupt Markdown files are skipped with an error notice.
- After importing, restart Obsidian to apply the new settings.
- It is safe to exclude
settings-vault-syncitself from export if you don't want to sync its own exclusion list across devices.