No description
  • Shell 88.9%
  • Ruby 10.4%
  • Makefile 0.7%
Find a file
Kevin Sivic 5932ceb25a
All checks were successful
Test / test (push) Successful in 10s
fix: make colima macOS-only in Brewfile
It runs a VM to give macOS a Docker daemon; native Linux runs Docker
directly and doesn't need it. Brewfile is a Ruby DSL, so this is a plain
OS.mac? conditional rather than a second file.
2026-08-16 22:59:31 -04:00
.forgejo/workflows ci: run bats tests on push 2026-08-16 22:06:29 -04:00
dotfiles fix: install oh-my-zsh and link .zprofile 2026-08-16 22:36:31 -04:00
tests feat: add link_optional for sources that may not exist 2026-08-16 22:20:18 -04:00
.gitignore chore: scaffold laptop-setup repo 2026-08-16 21:56:56 -04:00
bootstrap.sh fix: support dnf-based distros in install_linux_build_tools 2026-08-16 22:58:05 -04:00
Brewfile fix: make colima macOS-only in Brewfile 2026-08-16 22:59:31 -04:00
CLAUDE.md chore: scaffold laptop-setup repo 2026-08-16 21:56:56 -04:00
link.sh fix: install oh-my-zsh and link .zprofile 2026-08-16 22:36:31 -04:00
macos-defaults.sh feat: apply macOS defaults on Darwin 2026-08-16 22:54:38 -04:00
Makefile chore: scaffold laptop-setup repo 2026-08-16 21:56:56 -04:00
README.md docs: document oh-my-zsh, zprofile, JetBrains prompt, macOS defaults 2026-08-16 22:54:50 -04:00

laptop-setup

Bootstraps a new macOS or Linux laptop to match Kevin's dev setup: packages, shell config, git config, SSH scaffolding, and VS Code settings.

Usage

git clone https://forgejo.sivic.me/kevinsivic/laptop-setup.git
cd laptop-setup
./bootstrap.sh

bootstrap.sh will:

  1. Detect macOS vs Linux (uname -s).
  2. Install Homebrew if it's missing, and oh-my-zsh if it's missing.
  3. Run brew bundle --file=Brewfile to install the curated package list.
  4. On macOS, ask whether to install JetBrains Toolbox (not part of the curated list — it's optional).
  5. Symlink the files in dotfiles/ into place, backing up anything that's already there (see link.sh). This includes .zprofile, which puts Homebrew on PATH for future shell sessions.
  6. On macOS, apply the macos-defaults.sh System Settings (currently just Dock autohide/tilesize — the only settings actually customized on this machine).

Linux support is best-effort via Homebrew-on-Linux and hasn't been run on real Linux hardware yet.

Claude Code config

bootstrap.sh also links the global Claude Code CLAUDE.md and settings.json (including the agent-deck-driven hooks — installed via the Brewfile). The four custom skills (ai-patterns, nullables, refactoring, tdd) are symlinks into a separate repo, kodyfintak-os/skill-factory, which isn't cloned automatically. Clone it to ~/Develop/professional/skill-factory yourself (it needs its own GitHub access) before running bootstrap.sh if you want those skills linked; if it's missing, link.sh just skips them with a warning instead of failing.

Secrets

Nothing in this repo should ever contain tokens or credentials. dotfiles/zshrc sources ~/.zshrc.local (untracked, created manually per machine) for anything machine-specific or secret.

Testing

make test

Runs the bats-core suite in tests/, which covers the symlinking logic in link.sh.