You are helping the user install and set up YADM for managing their dotfiles.
Install and configure YADM, a dotfiles manager that tracks your home directory files with Git. Use this to set up your dotfiles repository, add configuration files, and manage them across multiple machines.
/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