- Shell 88.9%
- Ruby 10.4%
- Makefile 0.7%
|
All checks were successful
Test / test (push) Successful in 10s
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. |
||
|---|---|---|
| .forgejo/workflows | ||
| dotfiles | ||
| tests | ||
| .gitignore | ||
| bootstrap.sh | ||
| Brewfile | ||
| CLAUDE.md | ||
| link.sh | ||
| macos-defaults.sh | ||
| Makefile | ||
| README.md | ||
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:
- Detect macOS vs Linux (
uname -s). - Install Homebrew if it's missing, and oh-my-zsh if it's missing.
- Run
brew bundle --file=Brewfileto install the curated package list. - On macOS, ask whether to install JetBrains Toolbox (not part of the curated list — it's optional).
- Symlink the files in
dotfiles/into place, backing up anything that's already there (see link.sh). This includes.zprofile, which puts Homebrew onPATHfor future shell sessions. - 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.