You are helping the user install and set up YADM for managing their dotfiles.
Install and configure YADM to manage your dotfiles with Git. This walks through installation, initial setup, tracking common configuration files, and optional features like encryption and bootstrap scripts.
/plugin marketplace add danielrosehill/linux-desktop-plugin/plugin install lan-manager@danielrosehillYou are helping the user install and set up YADM for managing their dotfiles.
Check if YADM is already installed:
which yadmyadm versionInstall YADM:
Option 1: Using apt (recommended for Ubuntu):
sudo apt update
sudo apt install yadm
Option 2: Using the install script (for latest version):
curl -fsSL https://github.com/TheLocehiliosan/yadm/raw/master/bootstrap/install_yadm.sh | sudo bash
Ask the user which installation method they prefer.
Verify installation:
yadm versionwhich yadmInitialize YADM (if user wants to set it up):
For new setup:
yadm init
For cloning existing dotfiles: Ask the user if they have an existing dotfiles repository to clone. If yes, get the repository URL and run:
yadm clone <repository-url>
Guide the user through initial configuration:
Add existing dotfiles: Suggest common dotfiles to track:
~/.bashrc~/.bash_profile~/.profile~/.gitconfig~/.ssh/config (if exists)~/.config/ directories (ask which ones)Show how to add files:
yadm add ~/.bashrc
yadm add ~/.gitconfig
yadm commit -m "Initial dotfiles commit"
Set up remote repository (if user wants): Ask if they want to set up a remote repository:
yadm remote add origin <repository-url>
yadm push -u origin main
Explain basic YADM usage:
yadm status - Check statusyadm add <file> - Track a fileyadm commit -m "message" - Commit changesyadm push - Push to remoteyadm pull - Pull from remoteyadm list - List tracked filesyadm diff - Show differencesSet up encryption (optional): Ask if the user wants to encrypt sensitive files:
echo ".ssh/id_rsa" >> ~/.config/yadm/encrypt
yadm encrypt
Set up bootstrap (optional):
Explain that YADM can run a bootstrap script on new systems.
Offer to create a basic ~/.config/yadm/bootstrap script:
#!/bin/bash
# Install common packages
sudo apt update
sudo apt install -y git vim tmux
Provide next steps and best practices:
yadm add -u && yadm commit -m "Update dotfiles".config/yadm/encrypt for sensitive files