Skip to content
CLI tool to sync config files between Alfred and Albert
Go Shell Makefile Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

Altogether in a Nutshell

Altogether is a CLI tool to synchronize configuration files between 2 major keyboard launchers -- Alfred and Albert. So the target user is who adopts both Mac and Linux on a daily basis, or someone needs to migrate one's config to the another.

Available Features

Supported configuration files are the ones relating to:

  • Web search
  • Snippets (refer to #13)


For Mac users

Go ahead and grab Homebrewed altogether:

brew install announce/homebrew-altogether/altogether

For Arch Linux users

If you are using Arch Linux, AUR Package is recommended. Install altogether with AUR helper such as yay:

yay -Syu altogether

How to get altogether command

Unless specified above, one of the simplest ways for your platform is:

  1. Download package from the latest release according to platform:
    • macOS: darwin-amd64.tar.gz
    • Linux: linux-amd64.tar.gz
  2. Extract the compressed tarball and place altogether to somewhere under PATH directory:
curl -L | tar -zxvf - \
&& mv ./linux-amd64/altogether /usr/local/bin \
&& altogether --help


Command Arguments

There are 2 ways to specify arguments. One is to use command options like below:

altogether sync-web --dry-run --alfred-path ~/.config/Alfred.alfredpreferences --albert-path ~/.config/testdata/albert

In the other way, you can specify parameters in environmental variables:

  • AL2_ALFRED_PATH: a path to Alfred's config directory
  • AL2_ALBERT_PATH: a path to Albert's config directory
  • AL2_DRY_RUN: set 1 to dump merged configurations in TSV style without actual file change
  • AL2_VERBOSE: set 1 to print out detailed logs

For instance, you can execute commands like as following:

export AL2_ALFRED_PATH="${HOME}/.config/Alfred.alfredpreferences"
export AL2_ALBERT_PATH="${HOME}/.config/albert"
export AL2_DRY_RUN=1
export AL2_VERBOSE=1
./altogether sync-web

Experimental: Systemd Configurations

Consider setting a Systemd configuration to run altogether automatically.

  1. Place unit files to ~/.config/systemd/user/
    • You can find sample files under sample/systemd/ in this repository
  2. Register altogether and browse the logs like below:
systemctl --user daemon-reload && systemctl --user restart altogether
journalctl --user -xe -u altogether

Supported Versions


  • 3.8.x


  • 0.16.x

Development Contribution

Here's how to get started!

  1. Install Docker (verified version: 18.09.1-ce)
  2. Build a container and start debugging:
./script/ init
./script/ ci

Related repositories:

You can’t perform that action at this time.