summaryrefslogtreecommitdiff
path: root/modules/home/resources/activation-scripts/clone-repos.sh
blob: eaee4dc1e70d29c1ce900d20243c954eed43caed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh

server="https://git.tjkeller.xyz/"

clonemissing() {
	# pull and return if already existing
	if [ -d "$2"/.git ]; then
		run cd $VERBOSE_ARG "$2"
		run git pull $VERBOSE_ARG || echo "$2: failed to pull from remote"
		return
	fi

	# clone to $2
	run mkdir -p $VERBOSE_ARG "$2"
	run git clone $VERBOSE_ARG "$server$1" "$2"

	# link to $3
	[ -z "$3" ] && return
	run mkdir -p $VERBOSE_ARG "$3"
	run ln -sf $VERBOSE_ARG "$2"/* "$3"
}

#            # repo       # clone to                  # link to
clonemissing scripts      $HOME/docs/src/scripts      $HOME/.local/bin
clonemissing dotconfig    $HOME/docs/src/config       $HOME/.config
clonemissing userscripts  $HOME/docs/src/userscripts  ''
clonemissing nixos        $HOME/docs/src/nixos        ''
clonemissing awesome      $HOME/.config/awesome       ''
clonemissing nvim         $HOME/.config/nvim          ''
clonemissing zsh          $HOME/.config/zsh           ''