Skip to content

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 APIrb.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

PageDescription
zsh~/.zshenv, .zprofile, .zshrc from one table.

Developer Tools

PageDescription
git~/.gitconfig and global gitignore.
ssh~/.ssh/config host blocks and includes.

AI Coding

PageDescription
ampAmp settings, MCP servers, AGENTS.md.
claude_codeClaude Code settings, permissions, LSP.

Package Managers

PageDescription
brewBrewfile + brew bundle for formulae, casks, MAS.

System

PageDescription
macmacOS Dock, Finder, hot corners, hostname, Touch ID.