From 9ef40d414c354cbeb9c5f65b38bd39666888a67f Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Fri, 26 Dec 2025 22:40:53 +0800 Subject: setup script --- setup.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 setup.sh diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..0c7a6c8 --- /dev/null +++ b/setup.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +set -e + +# Ensure the Command Line Tools for Xcode is installed +if ! xcode-select -p >/dev/null 2>&1; then + xcode-select --install +fi + +# Install package manager for macOS +if ! command -v brew >/dev/null 2>&1; then + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +fi + +basedir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +dotfiles="$HOME/.dotfiles" + +# Ensure the XDG user-specific configurations directory exists +mkdir -p "$HOME/.config" + +# Shortcut to dotfiles directory on home directory +if [ ! -e "$dotfiles" ]; then + ln -s "$basedir" "$dotfiles" +fi + +# Publish zsh configurations +if [ ! -e "$HOME/.zshrc" ]; then + ln -s "$dotfiles/.zshrc" "$HOME/.zshrc" +fi + +# Publish git configurations +if [ ! -e "$HOME/.config/git" ]; then + ln -s "$dotfiles/git" "$HOME/.config/git" +fi + +# Publish newsboat configurations +if [ ! -e "$HOME/.newsboat" ]; then + ln -s "$dotfiles/.newsboat" "$HOME/.newsboat" +fi -- cgit v1.2.3