Nixsync

by rowmayne
5
4
3
2
1
Score: 35/100

Description

Category: Coding & Technical Tools

The Nixsync plugin lets you export your vault settings and community plugin configuration into a single Nix file, then import that data back into .obsidian when you want to restore or replicate the setup. It covers app preferences, appearance, hotkeys, graph settings, workspace data, core plugin state, plugin manifests and plugin settings, with an option to strip machine specific workspace details so the exported file travels better between systems. It also generates an activation script for NixOS style workflows, which helps apply the saved configuration outside the app. The import side is intentionally narrow, though.

Reviews

No reviews yet.

Stats

stars
49
downloads
0
forks
53
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

RequirementsExperimental

  • nix

  • jq

Latest Version

Invalid date

Changelog

README file from

Github

nixsync

Export and import vault settings and plugins as Nix.

What it does

Export dumps your Obsidian config to a single .nix file:

# obsidian.nix
{
  config = {
    app = { ... };
    appearance = { ... };
    hotkeys = { ... };
  };

  plugins = {
    dataview = {
      manifest = { ... };
      settings = { ... };
    };
  };
}

Import reads that file back and writes config + plugin settings to .obsidian/.

Usage

Open command palette:

  • Export settings as Nix file - writes obsidian.nix to vault root
  • Import settings from Nix file - pick a .nix file, applies settings (reload Obsidian after)

Settings

Setting Default Description
Export file name obsidian.nix Output file name
Open after export on Opens exported file in Obsidian
App config on app.json - editor, default view
Appearance on appearance.json - theme, font, accent
Core plugins on core-plugins.json - enabled built-ins
Graph settings on graph.json
Workspace on workspace.json - panel layout
Strip ephemeral workspace fields on Removes last-open files, active file, panel state (machine-specific)
Hotkeys on hotkeys.json
Community plugins on Plugin manifests
Plugin settings on Plugin data.json - disable if configs contain secrets
Generate NixOS integration files off Also exports obsidian-activate.sh

NixOS integration

Enable Generate NixOS integration files to also export obsidian-activate.sh.

The script takes the exported .nix file, evaluates it with nix eval --json, and writes config + plugin files to ~/.obsidian/. Requires nix and jq.

bash obsidian-activate.sh /path/to/obsidian.nix

Note: restores settings and plugin data only. Plugin JS files are not included - Obsidian still needs to download plugins itself.

home-manager

home.file.".obsidian-config/export.nix".source = ./dotfiles/obsidian.nix;

home.activation.obsidian-restore = lib.hm.dag.entryAfter ["writeBoundary"] ''
  ${pkgs.bash}/bin/bash ${./dotfiles/obsidian-activate.sh} \
    $HOME/.obsidian-config/export.nix
'';

configuration.nix

system.activationScripts.obsidian-restore = {
  text = ''
    ${pkgs.bash}/bin/bash /etc/obsidian-activate.sh /etc/obsidian.nix
  '';
};

environment.etc."obsidian.nix".source = ./dotfiles/obsidian.nix;
environment.etc."obsidian-activate.sh".source = ./dotfiles/obsidian-activate.sh;

Limitations

The import parser handles literal Nix values only: strings, numbers, booleans, null, arrays, and attribute sets. If you hand-edit the exported .nix file and add Nix-specific syntax — string interpolation (${...}), function calls, let/in expressions, or import — the import command will fail or silently corrupt those values. Keep the file as plain data; use the activation script for evaluated Nix. Feel free to fix this, I do not know when I will get around to this.

Sync workflow

# Machine A - after updating settings
# Command palette → Export settings as Nix file
git add obsidian.nix && git commit -m "chore: update obsidian settings"
git push

# Machine B
git pull
bash obsidian-activate.sh obsidian.nix
# restart Obsidian

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Remotely Save
5 years ago by fyears
Sync notes between local and cloud with smart conflict: S3 (Amazon S3/Cloudflare R2/Backblaze B2/...), Dropbox, webdav (NextCloud/InfiniCLOUD/Synology/...), OneDrive, Google Drive (GDrive), Box, pCloud, Yandex Disk, Koofr, Azure Blob Storage.
Importer
3 years ago by Obsidian
Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.
Pandoc
5 years ago by Oliver Balfour
Pandoc document export plugin for Obsidian (https://obsidian.md)
Obsidian Enhancing Export
4 years ago by YISH
This is an enhancing export plugin base on Pandoc for Obsidian (https://obsidian.md/ ). It's allow you to export to formats like Markdown、Markdown (Hugo https://gohugo.io/ )、Html、docx、Latex etc.
Webpage HTML Export
3 years ago by Nathan George
Export html from single files, canvas pages, or whole vaults. Direct access to the exported HTML files allows you to publish your digital garden anywhere. Focuses on flexibility, features, and style parity.
Google Drive Sync
2 years ago by Richard Xiong
A plugin to make Obsidian work in Google Drive to enable access to iOS.
Local Backup
3 years ago by GC Chen
Automatically creates a local backup of the vault.
AI Providers
a year ago by Pavel Frankov
This plugin is a hub for setting AI providers (OpenAI-like, Ollama and more) in one place.
Obsidian markdown export
4 years ago by bingryan
This plugin allows to export directory/single markdown to a folder. support output format(html/markdown/text)
Metadata Extractor
5 years ago by kometenstaub
Obsidian Plugin that provides metadata export for use with third-party apps.
PDF break page
2 years ago by CG
Plugin for obsidian that adding shortcuts to create breakpages for pdf exports.
Custom File Extensions and Types
3 years ago by MeepTech
An obsidian plugin allowing you to register and view different file extensions in a modular manner.
Kobo Highlights Importer
4 years ago by Flavio Cordari
Differential ZIP Backup
2 years ago by vorotamoroz
Aut-O-Backups
5 years ago by ryanpcmcquen
Automated backups to Dropbox for Obsidian.
Kindle Export
4 years ago by Simeon Stanek
A plugin which converts .md files from Obsidian to your Kindle/PocketBook
Google Keep Import
3 years ago by Dale de Silva
Imports Google Keep backup files
Export To TeX
6 years ago by Zach Raines
export obsidian markdown files in a format that can be pasted into a TeX file
Export Graph View
a year ago by Sean McGhee
Plugin to export your vault's graph view.
Linked Note Exporter
a year ago by the-c0d3r
Obsidian plugin to export a note along with all its attachments and linked notes—cleanly, conveniently, and ready to share.
Open Plugin Settings
3 years ago by Mara-Li
Create a command that open the settings tabs of a registered plugin (because I was bored to open the parameters).
Floccus Bookmarks to Markdown
3 years ago by mddevils
Link Archive
5 years ago by Tamás Deme
Link Archive plugin for Obsidian
Code Preview
4 years ago by Hank
Obsidian code block render by file path
Xiaohongshu Importer
a year ago by bnchiang96
An Obsidian plugin to import Xiaohongshu (小红书) notes into your vault. Extract titles, content, images, videos, and tags from share links, with customizable categories and optional local media downloads.
Screwdriver
4 years ago by vorotamoroz
Style Importer
3 years ago by Josh Rouwhorst
Obsidian.md plugin to import a stylesheet from a URL to the snippets folder.
Image Magician
2 years ago by luxmargos
This is a plugin for Obsidian (https://obsidian.md). Supports viewing and exporting various image formats using ImageMagick.
Paper Importer
2 years ago by Zhe Chen
An Obsidian plugin to facilitate importing papers from arXiv
Workona To Obsidian
4 years ago by Holmes555
Plug-in for Obsidian.md which will import Workona json file
Latex Exporter
2 years ago by Matthew S. Scott
Strapi Exporter AI
2 years ago by Cinquin Andy
[prod] - 🚀 Strapi Exporter: Supercharge Your Obsidian-to-Strapi Workflow, export an obsidian notes directly to your Strapi API
my anime list text exporter
2 years ago by XmoncocoX
a plugin who create an obsidian page for an anime with the data from my anime list.
Day One Importer
2 years ago by Marc Donald
Easily convert your Day One journals into Obsidian markdown.
Git Integration
2 years ago by noradroid
Obsidian plugin to add git integration
Medium Importer
2 years ago by David Zachariae
KoReader Highlight Importer
a year ago by Tahsin Kocaman
Imports highlights and metadata from KoReader into Obsidian notes
Static Site MD Exporter
2 years ago by Yunfi
Export specific notes to general md for static site generation, such as Hexo, Hugo, or Astro
Gitlab Wiki Exporter
2 years ago by Josef Rabmer
Archivist Importer
4 months ago by Archivist AI
Import selected vault files into Archivist campaigns.
WhatsApp export note
a year ago by JoaoEmanuell
Obsidian plugin to export notes for whatsapp
Quarto Exporter
2 years ago by Andreas Varotsis
Export Obsidian notes to Quarto-compatible QMD files.
BackItUp
2 years ago by Hammad Javed
🟣 Quickly make a copy or snapshot of a note in Obsidian.
Yandex Wiki Integration
a year ago by Pavel Sokolov
Book Clipper
7 months ago by Hossein Fardmohammadi
Save book details from websites into your notes
WhatsApp backup importer
a year ago by Luigi Cerone
Obsidian plugin that allows you to import exported WhatsApp chat archives (in .zip format) into your vault.
Copy Local Graph Paths
a year ago by Amy Z
copy-local-graph-paths is a simple Obsidian plugin that copies the paths of notes linked to your current page.
TimeSaver
2 years ago by tommy.li