Skip to content
Manages Npackd packages with puppet.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Puppet Npackd

This module implements a package provider for Npackd, a package manager for Windows.

See the list of available packages. Each package listed there has an 'ID' field; this is the package name to use (note that NpackdCL is case sensitive). You can also use npackdcl.exe search to find packages. The () enclosed name is the package ID.

This module also includes a type (npackd_repo) for managing Npackd repositories.


Install from puppet forge:

puppet module install badgerious/npackd

Install from github (do this in your modulepath):

git clone npackd


Managing Packages

    # Install 7zip. This will install the latest version initially, and
    # apply no updates as long as any version is found on the system.
    package { 'org.7-zip.SevenZIP': 
      provider => npackd,

    # Install latest WinSCP. This will always install the latest version
    # available in the repositories.
    package { 'net.winscp.WinSCP':
      ensure   => latest,
      provider => npackd,

    # Install Firefox version 22. 
    package { 'org.mozilla.Firefox':
      ensure   => 22,
      provider => npackd,

    # Install .NET runtime versions 4.5.50709.17929 and 4.0.30319.1. 
    # To install multiple versions of the same package, title the resource
    # "{package} {version}". This format cannot be used together with 
    # ambiguously versioned resources (e.g. ensure => latest) with the same
    # package name. 
    package { ' 4.0.30319.1':
      ensure   => installed,
      provider => npackd,
    package { ' 4.5.50709.17929':
      ensure   => installed,
      provider => npackd,

    # Remove ALL versions of PuTTY. If you specify a version, only that version will be removed. 
    # If there are multiple versions installed, one will be removed each puppet run (not ideal,
    # but will eventually get the job done). 
    package { '':
      ensure   => absent,
      provider => npackd,

Managing Repos

    # Add a repo
    npackd_repo { '': }

    # Remove a repo
    npackd_repo { 'Badrepo':
      ensure => absent,
      repo   => '',

Puppet compatibility

Puppet 3.7 or greater requires 1.1.2 or greater of this module.

Npackd compatibility

  • Version >= 1.1.0 of this module is compatible with Npackd 1.18.7 (and potentially future versions).
  • Version <= 1.0.0 of this module is compatible with Npackd 1.17.9



You can’t perform that action at this time.