/altogether

CLI tool to sync config files between Alfred and Albert

Primary LanguageGoApache License 2.0Apache-2.0

Altogether

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)

Installation

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 https://github.com/announce/altogether/releases/download/v0.1.2/linux-amd64.tar.gz | tar -zxvf - \
&& mv ./linux-amd64/altogether /usr/local/bin \
&& altogether --help

Usage

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

Alfred:

  • 3.8.x

Albert:

  • 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/ci.sh init
./script/ci.sh ci

Related repositories: