Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
B

boxen

> 编程语言
Open source

Manage Mac development boxes with love (and Puppet).

1.6K stars0 likes2 views
WebsiteGitHub

About

Manage Mac development boxes with love (and Puppet).

Boxen

Manage Mac development boxes with love (and Puppet).

Rules for Services

  1. Run on a nonstandard port, usually default port + 1000 or 10000.

  2. Install with a custom Boxen homebrew formula.

  3. Suffix the Homebrew package's version, starting with -boxen1.

  4. Run as a launchd service in the dev namespace, e.g., dev.dnsmasq.

  5. Store config, data, and log files in $BOXEN_HOME/{config,data,log}. This will normally require customization of a service's Homebrew formula.

Sometimes it's not possible to follow these rules, but try hard.

Projects from the CLI

We use a totally awful hack to do from-the-cli project installs of projects. We create a file in "$BOXEN_HOME/repodir" called .projects, with a single line. That line is made up of projects separated by commas. We then read that into a Puppet fact in Puppet-land, and that checks for classes that match those project names, and includes them in the catalog.

We can't pass a FACTER_ env var because sudo has env_reset and we can't just modify the sudoers file due to a chicken-egg problem.

Hooks

  1. All hooks must be in the namespace Boxen::Hook::MyThing.

  2. All hooks must subclass from Boxen::Hook

  3. All hooks must provide a private instance method required_environment_variables that returns an array with at least one entry.

  4. All hooks must provide a private instance method #call.

Contributing

Use the OS X system Ruby (2.0 or newer). Run script/tests often. Open PR's. Use the CI.

Halp!

Use Issues or #boxen on irc.freenode.net.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Ruby

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言