pkg.soopen package index

brew / rank 3063

Install yadm with Homebrew, apk, apt, MacPorts, Nix, pacman, zypper

Yet Another Dotfiles Manager. Version 3.5.0 via Homebrew; verified from local package data. Also installable with debian: sudo apt install yadm.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install yadm

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install yadm

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

Linux

Alpine Linux apkverified · 92%
sudo apk add yadm

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

Debian aptverified · 92%
sudo apt install yadm

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

Nixverified · 92%
nix profile install nixpkgs#yadm

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

Arch Linux pacmanverified · 92%
sudo pacman -S yadm

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

openSUSE zypperverified · 92%
sudo zypper install yadm

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

overview

Package summary

Yet Another Dotfiles Manager

Commands and aliases

  • yadm

history

Project history and usage

yadm, Yet Another Dotfiles Manager, is a Git-based dotfile manager that keeps files in their natural locations under $HOME while storing them in a single repository. Its identity is deliberately boring in the best way: if a user knows Git, yadm mostly feels like Git plus dotfile-specific alternates, encryption, bootstrap, hooks, and templates.

Project history

The project was created by Tim Byrne and shared as open source in 2015, according to the author's Hacker News explanation. The motivation was portability, seamless Git interaction, alternate files for different hosts, and encryption for private data.

Early yadm solved a practical dotfiles problem: a bare Git repository in $HOME is powerful, but awkward around secrets, host-specific files, and new-machine bootstrap. yadm wrapped Git so the repository can track files in place while hiding the Git plumbing from day-to-day commands.

The 2.x and 3.x change logs show steady evolution rather than reinvention. Version 2.0.0 redesigned alternate processing, added XDG base-directory support, templates, distro-aware alternates, and an upgrade command; version 3.0.0 added OpenSSL encryption support, include directives in the built-in template processor, and moved default repository/encrypted archive locations under XDG-style data directories.

Adoption history

yadm spread through developer workstations and Unix package managers because it let users manage dotfiles without symlink farms or a custom DSL. The official site sells the core adoption hook clearly: anything a user can do with Git, they can do using yadm.

Its practical adoption is visible in distribution packages, docs, blog posts, and configuration-management roles. Users often pair it with broader system setup tools: yadm pulls dotfiles, decrypts secrets, selects alternates, and runs bootstrap scripts, while tools such as Home Manager, Ansible, or shell installers handle larger machine state.

How it is used

Typical usage starts with yadm init or yadm clone, then yadm add, commit, push, pull, and status in the same mental model as Git. The work tree is the user's home directory, so dotfiles remain where applications expect them.

The features that distinguish yadm from plain bare Git are alternates for OS/hostname/user/class differences, encrypted archives for sensitive files, bootstrap scripts for new machines, hooks around commands, and templates for generating machine-specific content.

Why package nerds care

yadm matters to package nerds because it is a thin wrapper over Git that resists inventing a second configuration-management universe. It packages the bare-repo dotfiles pattern into one command with just enough extra machinery for secrets and host variance.

It is also a clean example of a tool whose package value is ergonomic, not algorithmic: the hard dependency is already Git, but the wrapper codifies safe defaults, XDG paths, alternates, encryption, and bootstrap conventions that many users would otherwise script badly.

Timeline

  • 2015: Tim Byrne shares yadm as an open-source dotfile manager focused on Git portability, alternates, and encryption.
  • 1.10.0: yadm transitions to semantic versioning.
  • 2.0.0: yadm adds XDG base-directory support, redesigns alternate processing, adds a built-in default template processor, distro-aware alternates, and an upgrade command.
  • 3.0.0: yadm adds OpenSSL encryption support, built-in template includes, default-branch improvements, and new XDG-style default repository/archive paths.
  • 2020s: yadm continues as a mature dotfile package across Homebrew, Debian/Ubuntu, Arch, Nix, MacPorts, Alpine, and other package ecosystems.

Related projects

  • Git is the underlying storage and command model for yadm.
  • chezmoi, GNU Stow, vcsh, homesick, and dotbot are neighboring dotfile-management tools with different tradeoffs around templating, symlinks, and repository layout.
  • GPG, OpenSSL, git-crypt, and transcrypt are related through yadm's encrypted-file workflows.
  • Nix Home Manager and Ansible often complement yadm by managing packages and system state while yadm manages personal files.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew bottle metadata was recorded.

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/yadm/config

executables

Installed executables

CommandKindExposureNote
yadmexecutableindexed executableDiscovered from the local executable index.

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-08-03
manager version3.5.0
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:yadm
Version3.5.0
Package managerHomebrew
Homepagehttps://yadm.io/
Repositoryhttps://github.com/yadm-dev/yadm
Bottlenot recorded
Servicenone declared

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%

yadm 3.5.0-1

Yet Another Dotfiles Manager

https://github.com/TheLocehiliosan/yadm

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

yadm

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

yadm 3.2.2-1

Yet Another Dotfiles Manager

https://github.com/TheLocehiliosan/yadm

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

yadm 3.5.0-r0

Yet Another Dotfiles Manager

https://github.com/TheLocehiliosan/yadm

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

yadm-bash-completion 3.5.0-r0

Bash completions for yadm

https://github.com/TheLocehiliosan/yadm

sudo apk add yadm-bash-completion
  • License: GPL-3.0-only
  • Architecture: x86_64
  • Source Package: yadm
  • normalized package name match
  • Matched by: Yadm
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: yadm-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

yadm-doc 3.5.0-r0

Yet Another Dotfiles Manager (documentation)

https://github.com/TheLocehiliosan/yadm

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

yadm-fish-completion 3.5.0-r0

Fish completions for yadm

https://github.com/TheLocehiliosan/yadm

sudo apk add yadm-fish-completion
  • License: GPL-3.0-only
  • Architecture: x86_64
  • Source Package: yadm
  • normalized package name match
  • Matched by: Yadm
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: yadm-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

yadm-zsh-completion 3.5.0-r0

Zsh completions for yadm

https://github.com/TheLocehiliosan/yadm

sudo apk add yadm-zsh-completion
  • License: GPL-3.0-only
  • Architecture: x86_64
  • Source Package: yadm
  • normalized package name match
  • Matched by: Yadm
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: yadm-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
pacman95%

yadm 3.5.0-1

Yet Another Dotfiles Manager

https://github.com/yadm-dev/yadm

sudo pacman -S yadm
  • License: GPL3
  • Architecture: any
  • 2 dependencies
  • 3 optional deps
  • normalized package name match
  • Matched by: Yadm
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: yadm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

yadm 3.3.0-1.4

Yet Another Dotfiles Manager

https://yadm.io

sudo zypper install yadm
  • License: GPL-3.0-only
  • Category: Development/Tools/Version Control
  • Architecture: noarch
  • Source Package: yadm
  • 3 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Yadm
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: yadm from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst
zypper95%

yadm-bash-completion 3.3.0-1.4

Bash completions for yadm

https://yadm.io

sudo zypper install yadm-bash-completion
  • License: GPL-3.0-only
  • Category: Development/Tools/Version Control
  • Architecture: noarch
  • Source Package: yadm
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Yadm
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: yadm-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst
zypper95%

yadm-fish-completion 3.3.0-1.4

Fish Completion for yadm

https://yadm.io

sudo zypper install yadm-fish-completion
  • License: GPL-3.0-only
  • Category: Development/Tools/Version Control
  • Architecture: noarch
  • Source Package: yadm
  • 1 provides
  • normalized package name match
  • Matched by: Yadm
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: yadm-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst
zypper95%

yadm-zsh-completion 3.3.0-1.4

ZSH Completion for yadm

https://yadm.io

sudo zypper install yadm-zsh-completion
  • License: GPL-3.0-only
  • Category: Development/Tools/Version Control
  • Architecture: noarch
  • Source Package: yadm
  • 1 provides
  • normalized package name match
  • Matched by: Yadm
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: yadm-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst
MacPorts95%

yadm

sudo port install yadm
  • normalized package name match
  • Matched by: Yadm
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/yadm/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
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation