#! /bin/bash repos=$(xmllint -xpath "//repo/name/text()|//repo/source/text()" /etc/portage/layman.xml | xargs -n2) layman -d ALL git checkout -- /etc/portage/repos.conf/layman.conf for repo in $(cat /etc/portage/repos.conf/layman.conf | grep -oP "\[\K[^]]*"); do repo_src=$(echo "$repos" | grep -P "^$repo" | awk '{ print $2 }') layman -a "$repo" -O "$repo_src" done git checkout -- /etc/portage/repos.conf/layman.conf