| name | dotfile-sync |
| description | Expert knowledge of YADM + Tuckr deployment model for this repo. Covers Home/ vs etc/ path conventions, yadm-sync workflow, and system config deployment. Use when working with dotfile deployment, sync operations, or adding new config files. |
Dotfile Sync & Deployment
Path Model
| Repo Path | Deploys To | Tool |
|---|
Home/.config/app/ | ~/.config/app/ | YADM |
Home/.bashrc | ~/.bashrc | YADM |
Home/.local/bin/*.sh | ~/.local/bin/*.sh | YADM |
etc/pacman.conf | /etc/pacman.conf | Tuckr |
etc/systemd/ | /etc/systemd/ | Tuckr |
etc/udev/rules.d/ | /etc/udev/rules.d/ | Tuckr |
NEVER put user configs under etc/ or system configs under Home/.
Sync Commands
yadm-sync pull
yadm-sync push
yadm-sync status
Always run yadm-sync status before a push to review what changed.
System Config Deployment
sudo tuckr link -d ~/dotfiles -t / etc
sudo stow -t / -d ~/dotfiles etc
Adding a New Config File
- Create it under the correct prefix:
Home/.config/app/ or etc/app.conf
- For user config: run
yadm-sync pull to deploy
- For system config: run
sudo deploy-system-configs.sh
- Stage specifically:
git add Home/.config/app/config.toml
- Never
git add -A — it may sweep in secrets or yadm state files
Protected Configs (Require Explicit Approval)
etc/pacman.conf — package manager
etc/paru.conf, etc/makepkg.conf — build settings
etc/sysctl.d/ — kernel parameters
etc/sudoers — privilege escalation
etc/ssh/sshd_config — SSH server
Home/.config/zsh/.zshrc — interactive shell
Home/.gitconfig — git identity