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
TheLocehiliosan avatar

TheLocehiliosan/yadm

0
View on GitHub↗
6,328 stars·194 forks·Python·GPL-3.0·25 viewsyadm.io↗

Yadm

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 templates with machine-specific variables like hostname and OS, supporting built-in awk processing or external engines such as Jinja2. For sensitive data, yadm provides encrypted secret management using GPG, OpenSSL, or transparent encryption tools like transcrypt and git-crypt, allowing private files to be stored securely alongside other dotfiles in the repository.

yadm also offers automation features including bootstrap scripts that run customizable initialization programs after cloning to install software and configure the environment, as well as command lifecycle hooks that execute custom scripts before or after any yadm command. Additional capabilities include Git submodule management that activates or deactivates submodules per machine, terminal configuration, and terminfo compilation for consistent terminal behavior across systems.

Features

  • Dotfile Managers - Manages configuration files across machines using Git as the underlying version control engine.
  • Git-Wrapped Dotfiles Management - Wraps Git commands to operate on the home directory as the working tree for managing configuration files.
  • Dotfile Secret Encryptions - Stores secrets like passwords and keys in an encrypted archive that lives alongside configuration files.
  • System-Adaptive Config Generations - Renders configuration files from templates that adapt content based on hostname, OS, and architecture.
  • System Configuration Templates - Generates configuration files by merging templates with system-specific variables like hostname and OS.
  • OS-Specific File Tracking - Applies different versions of tracked files based on hostname or OS for machine-specific settings.
  • Alternate File Selection by System Attributes - Selects different file versions per machine based on OS, hostname, or architecture using naming conventions.
  • System Configuration Deployers - Applies alternative file versions based on hostname or OS to adapt configurations to different environments.
  • System-Specific File Maintainers - Stores and selects different file versions per operating system so the correct variant is used on each machine.
  • Host-Attribute Symlinks - Creates symlinks to host-specific file versions based on OS, hostname, or user-defined class.
  • Encrypted Secret Management - Encrypts sensitive files with GPG, OpenSSL, or transparent tools for secure storage in version control.
  • Git-Integrated Secret Encryptions - Stores sensitive files like SSH keys and passwords in an encrypted archive within a Git repository.
  • Sensitive Dotfile Encryptions - Encrypts sensitive dotfiles like SSH keys using GPG, OpenSSL, or transparent encryption tools before storage.
  • Version-Controlled Secret Encryption - Stores encrypted secrets alongside public source code in a version control system.
  • System Condition File Selection - Automatically links the correct file version based on matching OS, hostname, or user conditions.
  • Bootstrap Scripts - Runs a customizable initialization script automatically after cloning to install software and configure the environment.
  • OpenSSL-Based - Encrypts confidential files using the OpenSSL command-line tool with configurable cipher algorithms.
  • Secret Encryption for Dotfiles - Encrypts and decrypts sensitive files within a dotfiles repository for secure storage and sharing.
  • Conditional Git Config Includes - Uses Git's include directive to pull in alternate configuration files based on machine attributes.
  • Bootstrap-Aware Cloning - Executes a user-defined program automatically to complete the setup after cloning a repository.
  • Pre-Post Command Hooks - Runs custom scripts before or after any yadm command to extend its behavior.
  • Pre/Post Command Hooks - Triggers custom scripts before or after every yadm command for setup or cleanup.
  • Host Data Template Generators - Combines template content with host-specific data to produce customized configuration files.
  • GPG Key-Based File Encryption - Encrypts confidential files using a GPG recipient's public key instead of a symmetric password.
  • Transparent Encryption Tool Integration - Works alongside transcrypt or git-crypt tools to provide transparent encryption and decryption of files.
  • Command Lifecycle Hooks - Runs custom scripts before or after any yadm command to automate setup or cleanup tasks.
  • Dotfile Managers - Manages files across computers using a shared Git repository.

Star history

Star history chart for thelocehiliosan/yadmStar history chart for thelocehiliosan/yadm

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Frequently asked questions

What does thelocehiliosan/yadm do?

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.

What are the main features of thelocehiliosan/yadm?

The main features of thelocehiliosan/yadm are: Dotfile Managers, Git-Wrapped Dotfiles Management, Dotfile Secret Encryptions, System-Adaptive Config Generations, System Configuration Templates, OS-Specific File Tracking, Alternate File Selection by System Attributes, System Configuration Deployers.

Which projects share features with thelocehiliosan/yadm?

Projects with overlapping indexed features include: yadm-dev/yadm. sobolevn/git-secret — git-secret is a command line tool and Bash encryption utility used to manage sensitive configuration files and… travis-ci/travis-ci — Travis CI is a continuous integration platform and CI/CD pipeline orchestrator that automates the testing and building… bitnami-labs/sealed-secrets — Sealed Secrets is a Kubernetes secret encryption tool and controller designed for GitOps security. It provides a… anishathalye/dotbot — Dotbot is a dotfile installation manager and environment setup automator designed to deploy configuration files from a… twpayne/chezmoi — chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple…

Projects sharing features with Yadm

These projects share indexed features with Yadm. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • yadm-dev/yadmyadm-dev avatar

    yadm-dev/yadm

    6,166View on GitHub↗
    Pythonbashbootstrapcommandline
    View on GitHub↗6,166
  • sobolevn/git-secretsobolevn avatar

    sobolevn/git-secret

    4,023View on GitHub↗

    git-secret is a command line tool and Bash encryption utility used to manage sensitive configuration files and passwords within Git repositories. It enables version controlled secret storage by encrypting files with GPG public keys, ensuring that sensitive data can be committed to a repository without exposing plaintext. The tool utilizes a PGP encryption workflow to control access through a managed keyring of authorized public keys. This allows for the granting and revocation of decryption permissions for specific users. To prevent accidental data leaks, it automatically integrates with Git

    Shellencryptiongitgit-addons
    View on GitHub↗4,023
  • bitnami-labs/sealed-secretsbitnami-labs avatar

    bitnami-labs/sealed-secrets

    8,925View on GitHub↗

    Sealed Secrets is a Kubernetes secret encryption tool and controller designed for GitOps security. It provides a mechanism to encrypt sensitive data into specialized resources that can be safely stored in public version control systems and decrypted only within a cluster. The system uses an asymmetric encryption manager to seal secrets with a public key, ensuring that only the corresponding private key held within the cluster can unseal them. It includes utilities for security key rotation, secret re-encryption, and offline private key recovery to maintain data access during disaster recovery

    Godevops-workflowencrypt-secretsgitops
    View on GitHub↗8,925
  • travis-ci/travis-citravis-ci avatar

    travis-ci/travis-ci

    8,490View on GitHub↗

    Travis CI is a continuous integration platform and CI/CD pipeline orchestrator that automates the testing and building of code changes from version control systems. It functions as a multi-language test runner and build infrastructure manager, ensuring software quality through automated testing across various programming languages and runtimes. The platform is distinguished by its use of virtual-machine-based isolation for reproducible environments and a configuration-driven approach to pipeline generation. It supports complex testing strategies through parallel matrix execution, allowing job

    View on GitHub↗8,490
Compare all 30 related projects→