summaryrefslogtreecommitdiff
path: root/setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'setup.sh')
-rwxr-xr-xsetup.sh38
1 files changed, 38 insertions, 0 deletions
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