From 155ce70597a73d40fb514f1c0adee3e0706ced40 Mon Sep 17 00:00:00 2001 From: Kaan Barmore-Genc Date: Sat, 15 Nov 2025 21:19:19 -0600 Subject: [PATCH] Initial commit: Add setup script and Dotter skill MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add Homebrew-based setup script that installs development tools and Dotter configuration manager. Script supports both macOS and Linux, with platform-specific handling for casks. πŸ€– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .claude/skills/dotter/SKILL.md | 29 ++++++++++++ .claude/skills/dotter/dotter.wiki | 1 + .gitmodules | 3 ++ setup.sh | 75 +++++++++++++++++++++++++++++++ 4 files changed, 108 insertions(+) create mode 100644 .claude/skills/dotter/SKILL.md create mode 160000 .claude/skills/dotter/dotter.wiki create mode 100644 .gitmodules create mode 100755 setup.sh diff --git a/.claude/skills/dotter/SKILL.md b/.claude/skills/dotter/SKILL.md new file mode 100644 index 0000000..9c18428 --- /dev/null +++ b/.claude/skills/dotter/SKILL.md @@ -0,0 +1,29 @@ +--- +name: dotter-docs +description: Reference Dotter documentation +--- + +# Dotter Docs + +## Instructions + +Reference the files in `dotter.wiki` when you need information on how to use Dotter. + +dotter.wiki +β”œβ”€β”€ 1.-Getting-Started.md +β”œβ”€β”€ 2.-Symbolic-links-and-Templates.md +β”œβ”€β”€ 3.-Packages-and-`local.toml`.md +β”œβ”€β”€ 4.-Complex-Target.md +β”œβ”€β”€ 5.-Built‐ins,-Helpers,-and-Settings.md +β”œβ”€β”€ 6.-Miscellaneous-features.md +β”œβ”€β”€ FAQ-&-Troubleshooting.md +└── Home.md + +## Examples + +Find how to install: + +``` +rg -C4 'install' +``` + diff --git a/.claude/skills/dotter/dotter.wiki b/.claude/skills/dotter/dotter.wiki new file mode 160000 index 0000000..9195aa1 --- /dev/null +++ b/.claude/skills/dotter/dotter.wiki @@ -0,0 +1 @@ +Subproject commit 9195aa11bbe843e4607c3974c442942377fd5995 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..f8de620 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule ".claude/skills/dotter/dotter.wiki"] + path = .claude/skills/dotter/dotter.wiki + url = https://github.com/SuperCuber/dotter.wiki.git diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..f8bf6aa --- /dev/null +++ b/setup.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +set -e + +echo "Setting up dotfiles environment..." + +# Detect OS +OS="$(uname -s)" + +# Check if Homebrew is installed +if ! command -v brew &> /dev/null; then + echo "Homebrew is not installed. Please install it first:" + echo "https://brew.sh" + exit 1 +fi + +echo "Updating Homebrew..." +brew update + +# Install packages (available on both macOS and Linux) +PACKAGES=( + dotter + fish + dust + eza + htop + go + jq + lazygit + neovim + asdf + bat + pandoc + ripgrep + zoxide + zellij + p7zip +) + +echo "Installing packages..." +for package in "${PACKAGES[@]}"; do + if brew list "$package" &>/dev/null; then + echo "βœ“ $package already installed" + else + echo "Installing $package..." + brew install "$package" + fi +done + +# Install casks on macOS only +if [[ "$OS" == "Darwin" ]]; then + echo "Installing macOS-specific casks..." + + CASKS=( + font-fira-code-nerd-font + orbstack + ) + + for cask in "${CASKS[@]}"; do + if brew list --cask "$cask" &>/dev/null; then + echo "βœ“ $cask already installed" + else + echo "Installing $cask..." + brew install --cask "$cask" + fi + done +else + echo "Skipping macOS-specific casks (not on macOS)" +fi + +echo "βœ“ Setup complete!" +echo "" +echo "Next steps:" +echo " 1. Run 'dotter deploy' to deploy your dotfiles" +echo " 2. Consider setting fish as your default shell: chsh -s \$(which fish)"