Exclude individual file in shared .obsidian settings folder from iCloud sync

I find it extremely convenient to use the same .obsidian settings folder for both of my Macs, so that any changes I make to hotkeys, css snippets, etc. are automatically kept in-sync between the two Macs.

However, I vastly prefer not sharing the same workspace file, because I usually keep 1-5 notes open in Obsidian (with the help of the great Sliding Panes plugin), and these are generally different ones on each Mac.

Here’s how you can selectively exclude the workspace file (or any other file that you prefer to keep separate between your Macs) from iCloud sync:

  1. Select any note in Obsidian and invoke Show in system explorer to open your vault’s folder in Finder.
  2. Quit Obsidian and make sure it is closed on the other Mac(s) too.
  3. In Finder, press ⌘⇧. to show hidden files and folders and then navigate to the .obsidian folder inside your vault.
  4. Rename the workspace file inside the .obsidian folder to workspace_local.nosync. The .nosync part in the file name causes it to be excluded from iCloud sync, which also results in it getting deleted from your devices other than the current Mac.
  5. Open Terminal.
  6. Type cd (with a space at the end) and then drag the .obsidian folder from Finder to the Terminal window, so that its path gets inserted. Press Return to change the current directory in Terminal to that folder.
  7. Paste the command ln -s workspace_local.nosync workspace and press Return. This creates a so-called symbolic link with the name workspace that points to our actual workspace file workspace_local.nosync. Since the symbolic link does not have .nosync in its name, it will get synced by iCloud to your other devices (but only as a symbolic link file, without the content of the file it is pointing to).

When you now open Obsidian on your current Mac, it will use the existing workspace_local.nosync file. When you open Obsidian on another Mac, it will create a new workspace_local.nosync file on that machine and keep saving to that file.

Now that I finally got this to work the way I wanted, I might also keep individual other files separate between my two Macs (such as starred.json), but for the workspace file it was bugging me the most.

Note:

  • I use a separate .obsidian_iPhone settings folder for Obsidian Mobile on my iPhone, so I don’t know if this workflow would also work there or if Obsidian Mobile would, for instance, simply overwrite the symbolic link file with a regular workspace file. EDIT: Apparently, the symbolic link also works with Obsidian Mobile on an iPhone, which is neat.
  • The same applies to syncing with a Windows PC, except here I would be tremendously surprised if iCloud on Windows magically handled the symbolic link from macOS properly.
3 Likes

Thank you for making this! It worked great, including on my iPhone so the symlink seems to be working on mobile as well.

1 Like

That’s great to know, I’ve updated the guide. Thank’s for letting us know, @grantavery!