#!/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 cp "$AWD/assets/etc/security" /etc/ -r cp "$AWD/assets/etc/sysctl.d" /etc/ -r cp "$AWD/assets/etc/ssh" /etc/ -r cp "$AWD/assets/etc/profile.d" /etc/ -r cp "$AWD/assets/etc/zsh" /etc/ -r 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/usr/local/share/ca-certificates/TINK-CA.crt" /usr/local/share/ca-certificates /usr/sbin/update-ca-certificates sed -i "s|/bin/bash|/usr/bin/zsh|g" /etc/passwd git -C /tmp clone https://git.hanv.net/tink/zsh-completions.git cp /tmp/zsh-completions/src/* /usr/local/share/zsh/site-functions/ rm /tmp/zsh-completions -rf } personalize() { cp "$AWD/assets/root/.config" $HOME/ -r cp "$AWD/assets/root/.zshrc" $HOME/ if ((DISTRO_PVE)); then sed -i -E "s/.*prompt .*/prompt bart/g" $HOME/.zshrc fi if [[ ! -x $(command -v eza) ]]; then sed -i -E "s/.*alias ls=eza*/alias ls=exa/g" $HOME/.zshrc fi if [[ -x $(command -v zoxide) && $(zoxide --version) =~ '0.4' ]]; then sed -i -E "s/.*zoxide init.*/eval \"\$(zoxide init zsh)\"/g" $HOME/.zshrc fi if [[ -x $(command -v nvim) && $(nvim --version) =~ '0.10' ]]; then sed -i "/vim.g.clipboard = {/,/}$/d" $HOME/.config/nvim/lua/options.lua echo -e "vim.g.clipboard = { name = 'OSC 52', copy = { ['+'] = require('vim.ui.clipboard.osc52').copy('+'), ['*'] = require('vim.ui.clipboard.osc52').copy('*'), }, paste = { ['+'] = require('vim.ui.clipboard.osc52').paste('+'), ['*'] = require('vim.ui.clipboard.osc52').paste('*'), }, }" | tee -a $HOME/.config/nvim/lua/options.lua >/dev/null fi } usage(){ echo "Usage: $0 [OPTIONS]"; echo "OPTIONS:"; echo " -p personalize only"; } DO_SYS_CONFIG=true; while getopts ":np" OPT; do case $OPT in p) DO_SYS_CONFIG=false; ;; ?) echo "Invalid Option: -$OPTARG"; usage; exit 1;; esac; done; if $DO_SYS_CONFIG; then configure fi personalize