2022-06-14 00:34:22 +09:00
|
|
|
function install_apt_packages() {
|
|
|
|
local packages
|
|
|
|
local apt_sources_dir
|
|
|
|
. packages.bash
|
|
|
|
eval "$(apt-config shell apt_sources_dir 'Dir::Etc::sourceparts/d')"
|
|
|
|
rsync -rv etc/apt/keyrings/ /usr/share/keyrings/
|
|
|
|
rsync -rv etc/apt/sources.list.d/ "$apt_sources_dir"
|
|
|
|
[[ -d etc/default ]] \
|
|
|
|
&& rsync -rv etc/default/ /etc/default/
|
|
|
|
apt update
|
|
|
|
apt install -y "${packages[@]}"
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_dotfiles() {
|
|
|
|
local home
|
|
|
|
local dotfile
|
|
|
|
home=$(eval "echo ~${SUDO_USER:-}")
|
|
|
|
for dotfile in .*; do
|
|
|
|
[[ $dotfile =~ ^(\.\.?|\.git)$ ]] && continue
|
|
|
|
|
|
|
|
dotfile=$(realpath "$dotfile")
|
|
|
|
(
|
|
|
|
cd -- "$home"
|
|
|
|
ln -svf "$dotfile" .
|
|
|
|
)
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_addons() {
|
|
|
|
local addon
|
|
|
|
for addon in "$@"; do
|
|
|
|
(
|
|
|
|
cd -- "$addon"
|
|
|
|
./install
|
|
|
|
)
|
|
|
|
done
|
|
|
|
}
|
2022-06-14 23:09:44 +09:00
|
|
|
|
|
|
|
function install_gsettings() {
|
|
|
|
local uid
|
|
|
|
local gsettings_file
|
|
|
|
local gsettings_dir
|
|
|
|
uid=${SUDO_UID:-$(id -u)}
|
|
|
|
gsettings_file=$1
|
|
|
|
gsettings_dir=$2
|
|
|
|
< "$gsettings_file" \
|
|
|
|
sudo --user="#$uid" \
|
|
|
|
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$uid/bus" \
|
|
|
|
dconf load "$gsettings_dir"
|
|
|
|
}
|