#!/bin/sh

config="/usr/bin/git --git-dir=$HOME/.cfg --work-tree=$HOME"

$config add "$XDG_CONFIG_HOME/alacritty"
$config add "$XDG_CONFIG_HOME/fontconfig"
$config add "$XDG_CONFIG_HOME/gtk-2.0"
$config add "$XDG_CONFIG_HOME/gtk-3.0"
$config add "$XDG_CONFIG_HOME/gtk-4.0"
$config add "$XDG_CONFIG_HOME/hypr"
$config add "$XDG_CONFIG_HOME/mako"
$config add "$XDG_CONFIG_HOME/nvim"
$config add "$XDG_CONFIG_HOME/sway"
$config add "$XDG_CONFIG_HOME/swaylock"
$config add "$XDG_CONFIG_HOME/waybar"
$config add "$XDG_CONFIG_HOME/wofi"
$config add "$XDG_CONFIG_HOME/desktop-common"
$config add "$XDG_CONFIG_HOME/ranger"
$config add "$XDG_CONFIG_HOME/kitty"
$config add "$XDG_CONFIG_HOME/mimeapps.list"
$config add "$XDG_CONFIG_HOME/pfetch_logos"
$config add "$XDG_CONFIG_HOME/starship.toml"
$config add "$XDG_CONFIG_HOME/user-dirs.dirs"
$config add "$XDG_CONFIG_HOME/Trolltech.conf"
$config add "$HOME/.gtkrc-2.0"
$config add "$HOME/.gnupg/gpg-agent.conf"
$config add "$HOME/.gitconfig"
$config add "$HOME/.zshrc"
$config add "$HOME/.zprofile"
$config add "$HOME/.local/share/fonts"
$config add "$HOME/.local/share/dbus-1"
$config add "$HOME/.local/bin/dotfiles"
$config add "$HOME/.ssh/config"

aur="$HOME/aur"
packages="$HOME/packages"

paru -Qeqm > $aur
pacman -Qeq | grep -vf "$aur" > "$packages"

root_dir() {
	mkdir -p "$HOME/.root$1"
	cp "$1"/* "$HOME/.root$1"
	$config add "$HOME/.root$1"
	rm -fr "$HOME/.root$1"
}

root_file() {
	dir=$(dirname "$1")
	mkdir -p "$HOME/.root$dir"
	cp "$1" "$HOME/.root$dir"
	$config add "$HOME/.root$1"
}

root_dir /etc/initcpio/post
root_dir /etc/pacman.d/hooks
root_dir /etc/mkinitcpio.d
root_dir /etc/cmdline.d
root_file /etc/paru.conf
root_file /etc/mkinitcpio.conf
root_file /etc/makepkg.conf

$config add "$aur"
$config add "$packages"

rm "$aur"
rm "$packages"
rm -fr "$HOME/.root"