Skip to main content

Synchronization

At some point, you might need to synchronize your configuration between devices. Luckly, the Espanso file-based configuration makes it easy, letting you synchronize the config using any Cloud Storage service (such as Dropbox, Google Drive, ecc) or even GitHub!

Experimental

espanso start --unmanaged will pick up user-set environmental variables:

ESPANSO_CONFIG_DIR
ESPANSO_PACKAGE_DIR
ESPANSO_RUNTIME_DIR

for its Configuration (config & matches), Packages, and Runtime (logs, icons & lock-files etc.) directories.

Alternatively use the associated command-line parameters:

--config_dir
--package_dir
--runtime_dir

For example:

espanso --config_dir /path/to/your/files start --unmanaged

For Windows it may be necessary to use an espanso launcher command instead.

caution

If you're already running Espanso as a service, stop it first with espanso stop and espanso service unregister.

N.B. The command espanso path won't show the new paths.

This method is somewhat experimental so we would welcome discussion on Discord or Reddit as to whether this works on your system, and any problems you encounter. It may represent an easier alternative to the following section, however.

The established method of sharing configurations is documented here, but is more complex.

tip

From now on, we'll only mention "Dropbox folder" for brevity, but you can apply the same process for every service.

The general idea, which applies to all operating systems, is the following:

  • Move the Espanso configuration folder inside your Dropbox folder (also a subdirectory is perfectly fine)
  • Create a symbolic link in the original position, pointing to the synced folder.

Before diving in the actual process, you'll need to determine the current Espanso's configuration path used on your system. To do so, open a terminal and type:

espanso path config

The command's output is the configuration path, make sure to note it somewhere as you'll need it later. From now on, we'll refer to this path as $CONFIG.

Note: you do not need the final 'espanso' folder when entering the path. For example if the path returned by espanso path config is /Users/myname/Library/Application Support/espanso your $CONFIG value should be /Users/myname/Library/Application Support/

The specific commands are explained in the following sections, depending on your OS.

Make sure to replace $CONFIG!

In the following sections, we'll refer to the current configuration path as $CONFIG. Make sure to replace it with the actual path, determined in the previous section.

For example, if you see this command:

mklink /J "$CONFIG" "C:\Users\user\Dropbox\espanso"

You should run something like:

mklink /J "C:\Users\user\AppData\Roaming\espanso" "C:\Users\user\Dropbox\espanso"
Stop Espanso first

Before running any of the following, stop espanso with:

espanso stop

to prevent it trying to recreate the file structure during the process.

Before running mklink or ln ensure the espanso folder at the end of $CONFIG no longer exists, because it has been moved, or copied and renamed.

Windows

The first step is moving the $CONFIG folder inside your Dropbox directory, for example in:

C:\Users\user\Dropbox\espanso

Now you need to create a symbolic link. Open the Command Prompt and type the following command, making sure you specify the correct paths:

mklink /J "$CONFIG" "C:\Users\user\Dropbox\espanso"

Now restart Espanso and you should be ready to go!

macOS

The first step is moving the $CONFIG folder inside your Dropbox directory, for example in:

$HOME/Dropbox/espanso

Now you need to create a symbolic link. Open the Terminal and type the following command, making sure you specify the correct paths:

ln -s "$HOME/Dropbox/espanso" "$CONFIG"

Now restart espanso and you should be ready to go!

Linux

The first step is moving the $CONFIG folder inside your Dropbox directory, for example in:

/home/user/Dropbox/espanso

Now you need to create a symbolic link. Open the Terminal and type the following command, making sure you specify the correct paths:

ln -s "/home/user/Dropbox/espanso" "$CONFIG"

Now restart espanso and you should be ready to go!

Donate

The author of the project

Hi! I'm Federico, the creator of espanso. If you liked the project, please consider making a small donation, it really helps :)

Also, if you are looking to create educational videos such as tutorials, courses, and product demos, you might enjoy my latest project, Borumi.

A special thanks goes to all the wonderful people who supported espanso along the way

Together, we will make espanso the first universal text expander, open to everyone.

Contributing

Espanso is open source and hosted on GitHub.

Star

If you find a bug or have an idea for a new feature, please open an issue on GitHub.