awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
yadm-dev avatar

yadm-dev/yadm

0
View on GitHub↗
6,166 stars·196 forks·Python·gpl-3.0·20 viewsyadm.io↗

Yadm

Features

  • Dotfile Managers - Wraps Git commands to operate on the home directory as the working tree for managing configuration files.
  • Git-Wrapped Dotfiles Management - Wraps Git commands to operate on the home directory as the working tree for managing configuration files.
  • System Configuration Templates - Generates configuration files by merging templates with system-specific variables like hostname and OS.
  • Dotfile Environment Restorations - Restores all tracked dotfiles from a Git repository to rebuild a computing environment.
  • Secret Encryption for Dotfiles - Provides built-in encryption and decryption of sensitive files stored in dotfiles repositories.
  • Dotfile - Wraps standard Git commands to operate on dotfiles with hooks and submodule support.
  • Per-Operating System Configurations - Creates separate configuration files for different operating systems using naming conventions.
  • Bootstrap-Aware Cloning - Clones a remote repository and automatically runs a bootstrap script on success.
  • Setup Automation Scripts - Automatically runs a user-defined bootstrap script after cloning the dotfiles repository.
  • System Bootstrap Automations - Runs a user-defined script automatically after cloning dotfiles to set up software, configurations, and dependencies on a fresh machine.
  • Alternate File Selection by System Attributes - Selects different file versions based on system attributes like OS or hostname using naming conventions.
  • Host Data Template Generators - Generates configuration files by merging templates with system-specific variables like hostname and OS.
  • Cross-Machine Configuration Synchronization - Coordinates dotfiles between multiple computers so changes made on one machine are reflected on others.
  • Pattern-Based File Encryptions - Encrypts and decrypts files matching patterns in a configuration file for secure storage in the repository.
  • System Condition File Selection - Automatically links the correct file version based on system conditions like OS or hostname.
  • System-Attribute-Based Selections - Selects different file versions based on system attributes like OS or hostname using naming conventions.
  • Bootstrapping Scripts - Runs a user-defined bootstrap script automatically after cloning the dotfiles repository.
  • Dotfile System Restorations - Recreates a computing environment by restoring tracked dotfiles from a Git repository.
  • Template Data Injection - Injects system attributes like OS, hostname, and architecture as variables into template files.
  • Conditional Content Blocks - Provides conditional inclusion and exclusion of template blocks based on variable equality tests.
  • Template Engines - Generates configuration files by merging template content with system-specific variables like hostname and OS.
  • Pre-Post Command Hooks - Runs custom scripts before or after any supported command, with the ability to abort on failure.
  • Submodule Initialization - Clones and sets up Git submodules linked to the dotfiles repository after a fresh checkout.
  • Pre/Post Command Hooks - Executes custom scripts before or after any supported command, with the ability to abort on failure.
  • External File Inclusions - Embeds content from external files into templates with support for variable substitution.
  • Host Class Definitions - Assigns custom class labels to machines for conditional file selection during dotfiles deployment.
  • Pattern-Based File Encryption - Encrypts sensitive files matching patterns in a configuration file and decrypts them on checkout.
  • Hook-Based Extension Frameworks - Runs custom scripts before or after any supported command, with the ability to abort on failure.
  • System Attribute Overrides - Manually overrides system attributes like OS or hostname to control alternate file selection.
  • Conditional Bootstrap Steps - Runs separate bootstrap scripts per system using the alternate files system for conditional logic.
  • Symbolic Link Utilities - Creates symlinks for files following alternate naming rules to adapt configurations per system.

Star history

Star history chart for yadm-dev/yadmStar history chart for yadm-dev/yadm

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Yadm

Similar open-source projects, ranked by how many features they share with Yadm.
  • thelocehiliosan/yadmTheLocehiliosan avatar

    TheLocehiliosan/yadm

    6,328View on GitHub↗

    yadm is a dotfile manager that uses Git as its underlying version control engine to track, synchronize, and manage configuration files across multiple machines. It keeps dotfiles in their original home directory locations while providing a system for deploying different file versions based on operating system, hostname, or hardware architecture through an alternate file naming convention. The tool distinguishes itself through several integrated capabilities that go beyond basic version control. It includes a template-based configuration generation system that renders files by merging template

    Python
    View on GitHub↗6,328
  • twpayne/chezmoitwpayne avatar

    twpayne/chezmoi

    18,075View on GitHub↗

    chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple machines. It uses a local Git repository as the single source of truth, allowing users to track, version, and distribute dotfiles while maintaining a consistent state across diverse operating systems and hardware architectures. The project distinguishes itself through a declarative reconciliation model that computes the difference between the current filesystem and the desired state defined in the repository. It features a robust templating engine that processes configuration files

    Goconfigurationdotfiledotfile-management
    View on GitHub↗18,075
  • anishathalye/dotbotanishathalye avatar

    anishathalye/dotbot

    7,802View on GitHub↗

    Dotbot is a dotfile installation manager and environment setup automator designed to deploy configuration files from a repository to a local system. It functions as a symlink deployment utility and templated configuration engine, using a combination of symbolic links and custom directives to synchronize settings across machines. The project enables the automation of dotfile deployment through a shell-based configuration bootstrapper. It supports the synchronization of application profiles and the rendering of dynamic configuration files from templates before they are deployed to the filesyste

    Python
    View on GitHub↗7,802
  • retropie/retropie-setupRetroPie avatar

    RetroPie/RetroPie-Setup

    10,380View on GitHub↗

    RetroPie-Setup is a specialized utility and installation tool designed to automate the orchestration of Linux-based retro gaming environments. It functions as a deployment system for configuring the dependencies and software required to run game libraries on single board computers, such as the Raspberry Pi and Odroid. The project provides a structured approach to deploying gaming emulators and managing RetroArch emulation cores. It includes a configuration tool for setting up graphical front ends that organize and launch emulated games across multiple systems. The tool handles system-level t

    Shellemulationpiraspberry-pi
    View on GitHub↗10,380
See all 30 alternatives to Yadm→

Frequently asked questions

What are the main features of yadm-dev/yadm?

The main features of yadm-dev/yadm are: Dotfile Managers, Git-Wrapped Dotfiles Management, System Configuration Templates, Dotfile Environment Restorations, Secret Encryption for Dotfiles, Dotfile, Per-Operating System Configurations, Bootstrap-Aware Cloning.

What are some open-source alternatives to yadm-dev/yadm?

Open-source alternatives to yadm-dev/yadm include: thelocehiliosan/yadm — yadm is a dotfile manager that uses Git as its underlying version control engine to track, synchronize, and manage… twpayne/chezmoi — chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple… anishathalye/dotbot — Dotbot is a dotfile installation manager and environment setup automator designed to deploy configuration files from a… retropie/retropie-setup — RetroPie-Setup is a specialized utility and installation tool designed to automate the orchestration of Linux-based… lukesmithxyz/voidrice — Voidrice is a collection of Linux and Unix dotfiles and a shell-scripted provisioning suite designed to establish a… paulirish/dotfiles — This project is a collection of Unix dotfiles and scripts designed to personalize and standardize a shell and…