Files
init-debian/configure.sh
T
2025-04-01 23:30:19 +08:00

85 lines
2.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
SCRIPT=$(readlink -f "$0")
AWD=$(dirname "$SCRIPT")
DISTRO_PVE=$((command -v pvesh &>/dev/null && echo 1) || echo 0)
configure(){
echo "Asia/Shanghai" | tee /etc/timezone >/dev/null
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo -e "APT::Install-Recommends "0";
APT::Install-Suggests "0";" | tee /etc/apt/apt.conf.d/01norecommend >/dev/null
sed -i "s/.*Host \*.*/Host \*/g" /etc/ssh/ssh_config
sed -i "/.*HashKnownHosts.*/d" /etc/ssh/ssh_config
sed -i "/.*HostKeyAlgorithms.*/d" /etc/ssh/ssh_config
sed -i "/.*PubkeyAcceptedKeyTypes.*/d" /etc/ssh/ssh_config
sed -i "/.*IdentityFile.*/d" /etc/ssh/ssh_config
echo " HashKnownHosts no" | tee -a /etc/ssh/ssh_config >/dev/null
echo " HostKeyAlgorithms ssh-ed25519,ssh-rsa,rsa-sha2-256" | tee -a /etc/ssh/ssh_config >/dev/null
echo " PubkeyAcceptedKeyTypes ssh-ed25519,ssh-rsa,rsa-sha2-256" | tee -a /etc/ssh/ssh_config >/dev/null
echo " IdentityFile ~/.ssh/id_ed25519" | tee -a /etc/ssh/ssh_config >/dev/null
echo " IdentityFile ~/.ssh/id_rsa" | tee -a /etc/ssh/ssh_config >/dev/null
sed -i "s/.*SystemMaxUse=.*/SystemMaxUse=500M/g" /etc/systemd/journald.conf
sed -i "s/.*RuntimeMaxUse=.*/RuntimeMaxUse=500M/g" /etc/systemd/journald.conf
sed -i "s/.*MaxLevelStore=.*/MaxLevelStore=info/g" /etc/systemd/journald.conf
sed -i "s/.*MaxLevelSyslog=.*/MaxLevelSyslog=info/g" /etc/systemd/journald.conf
cp "$AWD/assets/TINK-CA.crt" /usr/local/share/ca-certificates
update-ca-certificates
sed -i "s|/bin/bash|/usr/bin/zsh|g" /etc/passwd
}
personalize() {
mkdir -p $HOME/.config/fd
cp "$AWD/assets/ignore" $HOME/.config/fd/
cp "$AWD/assets/.zshrc" $HOME/
if ((DISTRO_PVE)); then
sed -i -E "s/.*prompt .*/prompt bart/g" $HOME/.zshrc
fi
mkdir -p $HOME/.config/micro
cp "$AWD/assets/settings.json" $HOME/.config/micro/
if ((DISTRO_PVE)); then
sed -i -E "s/.*zoxide.*//g" $HOME/.zshrc
elif $1; then
$AWD/install-release.sh -r zsh-users/zsh-completions -k tarball -o completions.tar.gz -d "0 src" -p /usr/local/share/zsh/site-functions
$AWD/install-release.sh -r ajeetdsouza/zoxide -m x86_64-unknown -p /usr/local/bin -n zoxide -f
else
sed -i -E 's/.*zoxide.*/# eval "$(zoxide init --cmd cd zsh)"/g' $HOME/.zshrc
fi
}
usage(){
echo "Usage: $0 [OPTIONS]";
echo "OPTIONS:";
echo " -n no install";
echo " -p personalize only";
}
DO_INSTALL=true;
DO_SYS_CONFIG=true;
while getopts ":np" OPT; do
case $OPT in
n)
DO_INSTALL=false;
;;
p)
DO_SYS_CONFIG=false;
;;
?)
echo "Invalid Option: -$OPTARG";
usage;
exit 1;;
esac;
done;
if $DO_SYS_CONFIG; then
configure
fi
personalize $DO_INSTALL