Skip to main content
🔧 Unified package and dotfile manager

Meet Plonk

The missing link between dotfile managers and package managers. One command to set up your entire development environment.

terminal
$ plonk clone your-github/dotfiles
📦 Installing package managers...
⚙️ Installing packages...
📄 Deploying dotfiles...
✅ Environment ready!
10 Package Managers
One unified interface
Zero Config
Filesystem as truth
MIT Licensed
Open source

What Makes Plonk Different

Packages and dotfiles, unified

Born from the frustration of maintaining separate tools for configuration files and installed packages, plonk unifies both in a single, simple tool.

Package Manager Manager™

One interface for 10 package managers: Homebrew, npm, pnpm, cargo, pipx, conda, gem, go, uv, pixi. Install and track packages across all your tools.

plonk install ripgrep fd bat
Filesystem as Truth

No complex configuration files. Your dotfiles directory IS the state. Copy, don't symlink. No sync issues, cleaner and more compatible.

plonk add ~/.zshrc ~/.vimrc
One Command Setup

Clone your dotfiles repo and plonk handles everything: installs package managers, resolves dependencies, deploys dotfiles. Fresh OS to ready in minutes.

plonk clone your-github/dotfiles
Drift Detection

Know when your deployed dotfiles have been modified. plonk status shows drift, and plonk apply syncs your system back to the desired state.

plonk status
Developer Friendly

Multiple output formats (JSON, YAML, table), respects NO_COLOR, and built with AI coding assistants in mind. Perfect for developers who tinker.

plonk status --output json
State-Based Management

Track what should exist, not what commands were run. The plonk.lock file maintains your package inventory automatically.

Share your plonk.lock file →

How It Works

From fresh OS to ready in 4 commands

Do this once on a new machine; Plonk handles the rest.

  1. 1

    Install prerequisites

    Install Homebrew and Git (see brew.sh). Then return here.

  2. 2

    Install Plonk

        brew install --cask richhaase/tap/plonk
      

    macOS via Homebrew cask

  3. 3

    Clone your setup

        plonk clone your-github/dotfiles
      

    Plonk installs package managers, packages, and deploys your dotfiles.

  4. 4

    Verify

        plonk status
      

    Check state or use plonk doctor if needed.

---

Get Started with Plonk

Install Plonk and set up your entire development environment in minutes.

Prerequisites Required

Before installing Plonk, you need Homebrew and Git. Visit brew.sh for Homebrew installation instructions.

Homebrew (Recommended)

Official tap with automatic updates

    brew install --cask richhaase/tap/plonk
  

Go Install

For Go developers (requires Go 1.23+)

    go install github.com/richhaase/plonk/cmd/plonk@latest
  

Two ways to get started

1 Clone Existing Setup

    plonk clone your-github/dotfiles
  

If you already have a dotfiles repo, plonk will clone it and set up everything automatically.

2 Start Fresh

    plonk add ~/.zshrc ~/.vimrc
plonk install ripgrep fd bat
  

Start tracking your existing dotfiles and packages with plonk.

Essential Commands

plonk status View all managed packages and dotfiles
plonk apply Sync system to desired state
plonk doctor Check system health and dependencies