No description
  • JavaScript 100%
Find a file
Erick Ruiz de Chavez 6f6ff71e41 Initial commit: Settings Vault Sync plugin
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>
2026-07-02 15:04:16 -04:00
.gitignore Initial commit: Settings Vault Sync plugin 2026-07-02 15:04:16 -04:00
CLAUDE.md Initial commit: Settings Vault Sync plugin 2026-07-02 15:04:16 -04:00
main.js Initial commit: Settings Vault Sync plugin 2026-07-02 15:04:16 -04:00
manifest.json Initial commit: Settings Vault Sync plugin 2026-07-02 15:04:16 -04:00
README.md Initial commit: Settings Vault Sync plugin 2026-07-02 15:04:16 -04:00

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

  1. Download main.js and manifest.json from this repository.
  2. Create a folder .obsidian/plugins/settings-vault-sync/ inside your vault.
  3. Copy both files into that folder.
  4. Enable the plugin in Settings → Community plugins.

Via BRAT

  1. Install BRAT.
  2. Add this repository URL in BRAT's settings.
  3. 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.adapter API.
  • No build step required. main.js is 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-sync itself from export if you don't want to sync its own exclusion list across devices.