Automic VaultAutomic Vault

brew

Install unison with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

File synchronization tool. Version 2.54.0 via Homebrew; verified 2026-05-01.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install unison

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install unison

MacPorts ports tree · net/unison/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add unison

Alpine Linux edge package indexes · unison · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install unison

Debian stable package indexes · unison · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install unison

Fedora Rawhide package metadata · unison · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#unison

nixpkgs package indexes · pkgs/by-name/un/unison/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S unison

Arch Linux sync databases · unison · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install unison

openSUSE Tumbleweed package metadata · unison · source: download.opensuse.org

Windows

Chocolateyverified · 92%
choco install unison

Chocolatey community package catalog · unison · source: community.chocolatey.org

Scoopverified · 92%
scoop install main/unison

Scoop official bucket manifest trees · bucket/unison.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id bcpierce00.unison -e

Windows Package Manager source index · bcpierce00.unison · source: cdn.winget.microsoft.com

overview

Package summary

File synchronization tool

Commands and aliases

  • unison
  • unison-fsmonitor

history

Project history and usage

Unison is a long-running bidirectional file synchronizer for Unix-like systems, macOS, and Windows. It occupies a different niche from one-way mirroring tools: it lets two independently changed replicas converge while detecting conflicts, using a normal user account rather than a kernel filesystem or privileged service.

Project history

The original Unison web site at the University of Pennsylvania describes the tool as free software with a precise specification, support for Windows and many Unix variants, and transfer optimizations for small changes in large files. That site is now archival, and the project is hosted on GitHub.

Unison's implementation history matters to packagers because the executable, wire protocol, and archive format have historically been tied to OCaml details. The project addressed much of that pain in the 2.52 line by adding feature negotiation, a new OCaml-independent archive format, and a new wire protocol; later 2.53 releases continued modernizing build, GUI, Windows, extended attribute, and ACL support.

Adoption history

Unison has remained useful because it solved a stubborn workstation problem: keeping home directories, source trees, and personal data synchronized across laptops, servers, and operating systems without requiring a central always-on service. Its upstream README notes more than 25 years of use, and its package-manager footprint in the input spans Homebrew, Debian, Ubuntu, Fedora, Arch, Nix, MacPorts, Windows package managers, and others.

In package-manager culture, Unison also became a compatibility cautionary tale. Users often need compatible versions on both ends of a sync, so distribution lag, OCaml compiler changes, and remote-server availability can matter as much as the local binary itself.

How it is used

Typical CLI usage is to synchronize two roots, either local paths or a local path and a remote path reached over ssh. The official manual emphasizes running the remote copy as the file owner, using ssh rather than insecure socket modes for ordinary remote synchronization, and reviewing conflicts before propagation.

Profiles stored as .prf files let users capture roots, paths, ignore rules, preferences, and repeat/watch behavior. For package users, the important executable split is the main unison CLI plus unison-fsmonitor, which supports watch-oriented workflows on platforms where it is available.

Why package nerds care

Unison is package-nerd interesting because it is both old and operationally picky: a small package upgrade can affect interoperability with a remote host, archive migration, GUI availability, and OCaml runtime compatibility. That makes it a favorite example when discussing why reproducible package sets, pinned versions, and cross-platform binary availability matter.

It also sits in the same practical toolbox as rsync while making a different tradeoff: rsync excels at one-way copy and deployment, while Unison tracks two replicas and asks the user to resolve real conflicts. That distinction keeps it relevant for dotfiles, laptops, research workstations, and mixed Unix/Windows environments.

Timeline

  • 1990s-2000s: Unison developed as a cross-platform bidirectional file synchronizer at the University of Pennsylvania.
  • 2010s: The project moved from older hosting to GitHub after an SVN-to-Git transition.
  • 2022: Version 2.52 introduced feature negotiation plus OCaml-independent archive and wire formats.
  • 2022-2023: Version 2.53 added GTK3 GUI work, extended attributes, ACL support, Windows build improvements, and modernized build instructions.
  • 2026: Version 2.54 dropped the old wire protocol and pre-2.52 archive support.

Related projects

  • Unison is commonly compared with rsync, mirroring utilities, configuration-management tools, distributed filesystems such as Coda, and platform-specific sync tools. Its own documentation highlights these comparisons to explain why bidirectional reconciliation is its central feature.
  • The project is implemented in OCaml, so OCaml compiler and runtime evolution have been unusually visible in its packaging and compatibility story.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:sync

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

macOS
~/Library/Application Support/Unison/*.prf~/.unison/*.prf
Unix
~/.unison/*.prf
Windows
%USERPROFILE%\.unison\*.prf%HOME%\.unison\*.prfC:\.unison\*.prf

executables

Installed executables

CommandKindExposureNote
unisoncliglobal executable
unison-fsmonitorcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.54.0
manager updated2026-05-01
local dataok
upstreamcurrent
latest detectedv2.54.0

https://github.com/bcpierce00/unison

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:unison
Version2.54.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/unison
Homepagehttps://www.cis.upenn.edu/~bcpierce/unison/
Repositoryhttps://github.com/bcpierce00/unison
Upstream docshttps://github.com/bcpierce00/unison/wiki
LicenseGPL-3.0-or-later
Source archivehttps://github.com/bcpierce00/unison/archive/refs/tags/v2.54.0.tar.gz
Last updated2026-05-01T04:33:37Z
Pulseupdated
Build dependenciesocaml
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameunison
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

unison 2.53+1

file-synchronization tool for Unix and Windows

sudo apt install unison
  • Section: utils
  • Architecture: all
  • Source Package: meta-unison
  • 1 dependencies
  • normalized package name match
  • Matched by: Unison
Debian stable package indexes · deb.debian.org · Debian stable package indexes: unison from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

unison

nix profile install nixpkgs#unison
  • normalized package name match
  • Matched by: Unison
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/un/unison/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

unison 2.53+1

file-synchronization tool for Unix and Windows

sudo apt install unison
  • Section: universe/net
  • Architecture: all
  • Source Package: meta-unison
  • 1 dependencies
  • normalized package name match
  • Matched by: Unison
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: unison from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

unison 2.54.0-r0

Efficient file-synchronization tool

https://www.cis.upenn.edu/~bcpierce/unison/

sudo apk add unison
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: unison
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Unison
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: unison from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

unison-doc 2.54.0-r0

Efficient file-synchronization tool (documentation)

https://www.cis.upenn.edu/~bcpierce/unison/

sudo apk add unison-doc
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: unison
  • normalized package name match
  • Matched by: Unison
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: unison-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

unison 2.54.0-1.fc45

File Synchronizer

https://github.com/bcpierce00/unison

sudo dnf install unison
  • License: GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: unison
  • 4 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Unison
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: unison from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

unison-doc 2.54.0-1.fc45

Unison File Synchronizer documentation

https://github.com/bcpierce00/unison

sudo dnf install unison-doc
  • License: GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: unison
  • 1 provides
  • normalized package name match
  • Matched by: Unison
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: unison-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

unison-gtk 2.54.0-1.fc45

Unison File Synchronizer GTK interface

https://github.com/bcpierce00/unison

sudo dnf install unison-gtk
  • License: GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: unison
  • 14 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Unison
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: unison-gtk from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

unison 2.54.0-1

File-synchronization tool

https://github.com/bcpierce00/unison/

sudo pacman -S unison
  • License: GPL-3.0-only
  • Architecture: x86_64
  • 1 optional deps
  • normalized package name match
  • Matched by: Unison
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: unison from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

unison 2.53.8-1.4

File synchronization tool

https://github.com/bcpierce00/unison

sudo zypper install unison
  • License: GPL-3.0-or-later
  • Category: Productivity/Networking/Other
  • Architecture: x86_64
  • Source Package: unison
  • 11 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Unison
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: unison from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

unison-text 2.53.8-1.4

File synchronization tool

https://github.com/bcpierce00/unison

sudo zypper install unison-text
  • License: GPL-3.0-or-later
  • Category: Productivity/Networking/Other
  • Architecture: x86_64
  • Source Package: unison
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Unison
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: unison-text from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

unison

sudo port install unison
  • normalized package name match
  • Matched by: Unison
MacPorts ports tree · api.github.com · MacPorts ports tree: net/unison/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

unison

choco install unison
  • normalized package name match
  • Matched by: Unison
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: unison from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='6.5836','capture'
Scoop95%

main/unison

scoop install main/unison
  • normalized package name match
  • Matched by: Unison
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/unison.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

bcpierce00.unison

winget install --id bcpierce00.unison -e
  • normalized package name match
  • Matched by: Unison
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: bcpierce00.unison from https://cdn.winget.microsoft.com/cache/source.msix
Nix92%

unison-fsmonitor

nix profile install nixpkgs#unison-fsmonitor
  • installed executable or alias match
  • Matched by: Unison Fsmonitor
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/un/unison-fsmonitor/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment