Automic VaultAutomic Vault

brew

Install xxh with Homebrew, MacPorts, Nix

Bring your favorite shell wherever you go through the ssh. Version 0.8.14 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install xxh

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install xxh

MacPorts ports tree · sysutils/xxh/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#xxh

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

overview

Package summary

Bring your favorite shell wherever you go through the ssh

Commands and aliases

  • xxh
  • xxh.bash
  • xxh.xsh
  • xxh.zsh

history

Project history and usage

xxh is a remote-shell portability tool for people who want their own shell, aliases, plugins, and terminal habits when connecting through SSH. Its niche is not replacing OpenSSH transport; it wraps the SSH workflow so a prepared, removable userland can be uploaded to a remote Linux host without root access or permanent system installation.

Project history

The project grew out of a common dotfile and remote-login annoyance: a heavily customized local shell disappears when a user logs in to an unfamiliar server. The README frames xxh around that problem and around the goal of bringing shells such as xonsh, zsh, fish, bash, and osquery to remote hosts.

The design evolved around small, forkable shell and plugin packages. Instead of copying a user's private dotfiles wholesale, xxh encourages reusable shell entrypoints and prerun plugins, so a remote environment can be assembled locally, uploaded, used, and removed by deleting the remote .xxh directory.

Adoption history

xxh adoption has been strongest in the remote-development and shell-customization niche rather than in base operating systems. Its README lists Python package installation, pipx, conda-forge, Homebrew, MacPorts, portable Linux archives, and AppImage as distribution paths, reflecting a tool aimed at users who move between many hosts and package ecosystems.

The surrounding plugin repositories are part of the adoption story: zsh and fish integrations, Oh My Zsh and Oh My Fish support, Powerlevel10k, starship, vim, zoxide, Docker, Python, and dotfiles plugins show the project being used as a portable terminal-environment framework rather than a single binary.

How it is used

In practice, users invoke xxh where they would normally invoke ssh, preserving ordinary SSH arguments while adding xxh-specific options with plus-prefixed flags. Common workflows include selecting a shell for a host, preinstalling plugins, forcing a remote reinstall, choosing the remote home/hermetic level, or using seamless mode from the local shell.

The package is useful when a developer has access to many Linux hosts but cannot install packages globally, wants a familiar shell on ephemeral machines, or needs a repeatable remote command environment without leaving long-lived files behind.

Why package nerds care

xxh is package-nerd interesting because it packages a personal environment rather than just a program. It sits at the intersection of SSH, dotfiles, shell frameworks, portable binaries, and plugin packaging, making explicit the messy work many developers otherwise solve with ad hoc scp, curl, and bootstrap scripts.

Its plus-option convention and forkable package model also show a pragmatic packaging lesson: when a wrapper must pass through the native tool's flags, namespacing the wrapper's own options keeps the command line usable.

Timeline

  • 2019: Public discussion and package pages show xxh being promoted as a way to bring zsh, Oh My Zsh, and other shells through SSH without root access on the host.
  • 2020: Homebrew, MacPorts, conda-forge, pip, pipx, AppImage, and portable Linux archive installation paths are documented in the project README.
  • 2020s: The shell and plugin ecosystem grows around xonsh, zsh, fish, bash, osquery, prerun plugins, and cookiecutter templates for new plugins.

Related projects

  • OpenSSH is the underlying transport and user-facing model that xxh wraps rather than replaces.
  • xonsh, zsh, fish, bash, and osquery are supported shell entrypoints in the xxh ecosystem.
  • Oh My Zsh, Oh My Fish, Powerlevel10k, starship, zoxide, vim, and Docker appear as examples of portable shell and prerun plugin targets.

security posture

Risk level: yellow

broad file, network, media, or database tool signal. generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • broad file, network, media, or database tool signal
  • generalized runtime or code generation signal

Signals

  • text:shell
  • text:ssh

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 2 runtime 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.

Unix
~/.config/xxh/config.xxhc

executables

Installed executables

CommandKindExposureNote
xxhcliglobal executable
xxh.bashcliglobal executable
xxh.xshcliglobal executable
xxh.zshcliglobal 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 version0.8.14
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/xxh/xxh

  • infoNo package-manager update timestamp was available.low confidence
  • infoNo cached GitHub release or tag data was available.https://github.com/xxh/xxhnone confidence

install metadata

Package metadata

Package keybrew:xxh
Version0.8.14
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xxh
Homepagehttps://github.com/xxh/xxh
Repositoryhttps://github.com/xxh/xxh
Upstream docshttps://github.com/xxh/xxh#readme
LicenseBSD-2-Clause
Source archivehttps://files.pythonhosted.org/packages/d6/ac/fb40368ff37fbdd00d041e241cc0d7a50cdac7bc6ae54dcb9f1349acdde6/xxh-xxh-0.8.14.tar.gz
Dependencieslibyaml, python@3.14
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 Namexxh
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • 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.

Nix95%

xxh

nix profile install nixpkgs#xxh
  • normalized package name match
  • Matched by: Xxh
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/xx/xxh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

xxh

sudo port install xxh
  • normalized package name match
  • Matched by: Xxh
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/xxh/Portfile from https://api.github.com/repos/macports/macports-ports/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