Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A Puppet package provider for pkgin, a binary package manager for pkgsrc.
Ruby Puppet
Branch: master

Puppet pkgin Module Build Status

This is a Puppet module to install and uninstall packages using pkgin, a binary package manager for pkgsrc as used by Joyent SmartMachines by enabling a provider for the standard package resource type.


The latest stable release can be downloaded from the Puppet Module Forge: mudge/pkgin

Using the puppet-module gem, this is as simple as:

$ cd /opt/local/etc/puppet/modules
# puppet-module install mudge/pkgin
Installed "mudge-pkgin-0.0.1" into directory: pkgin

(Assuming /opt/local/etc/puppet/modules is in your modulepath.)


package { 'vim':
  ensure   => present,
  provider => pkgin,

package { 'emacs':
  ensure   => absent,
  provider => pkgin,

If using the Service Management Facility (SMF) to run puppet agent (or puppetd), ensure that the pkgin binary is in your PATH with something like the following:

<exec_method name='start' type='method'
    exec='/opt/local/bin/puppet agent --config %{config_file}' timeout_seconds='60'>
      <envvar name='PATH' value='/opt/local/bin:/opt/local/sbin:/usr/bin:/usr/sbin'/>
<property_group name='application' type='application'>
  <propval name='config_file' type='astring' value='/opt/local/etc/puppet/puppet.conf'/>


At the moment, this provider only has two of the standard Puppet package provider features:

  • installable: The provider can install packages.
  • uninstallable: The provider can uninstall packages.


Paul Mucur (, 2011.

Something went wrong with that request. Please try again.