Modules
Modules are the high-level, opinionated wrappers that turn a Lua table into the configuration files, settings, and side effects you actually want on disk. Each module is a thin layer over the core API — rb.file(), rb.exec(), the format codecs — exposed as a small, typed surface so your dotfiles read like declarations instead of glue.
Pull a module in with require("rootbeer.<name>"):
lua
local zsh = require("rootbeer.zsh")
local git = require("rootbeer.git")For per-machine variants, see Profiles. To wire up something rootbeer doesn't ship a module for, drop down to the core API.
Shell
| Page | Description |
|---|---|
zsh | ~/.zshenv, .zprofile, .zshrc from one table. |
Developer Tools
| Page | Description |
|---|---|
git | ~/.gitconfig and global gitignore. |
ssh | ~/.ssh/config host blocks and includes. |
AI Coding
| Page | Description |
|---|---|
amp | Amp settings, MCP servers, AGENTS.md. |
claude_code | Claude Code settings, permissions, LSP. |
Package Managers
| Page | Description |
|---|---|
brew | Brewfile + brew bundle for formulae, casks, MAS. |
System
| Page | Description |
|---|---|
mac | macOS Dock, Finder, hot corners, hostname, Touch ID. |