Forge Home


This module will configure pacman package manager on Archlinux


6,778 latest version

1.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.6.0 (latest)
  • 0.5.0
  • 0.4.0
released Oct 18th 2017
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.5.0 < 5.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'aboe-pacman', '0.6.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add aboe-pacman
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install aboe-pacman --version 0.6.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Tags: archlinux


aboe/pacman — version 0.6.0 Oct 18th 2017


Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with salt
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.

Pacman Puppet Module

Manage pacman configuration on archlinux

Module Description

This module can be used to configure the pacman.conf file on Archlinux


What pacman affects

  • pacman.conf
  • pacman repositories

Beginning with pacman

Just add manifest:

include pacman

Or if you want to change params you need to include the underlying modules:

class { 'pacman': }
class { 'pacman::repo': 'custom':
      description => "custom repo",
      siglevel => 'never',
      server => '$arch',
      order => '99',


All interaction with the pacman module can be done through the main pacman class. except for adding extra repositories

I just want the default pacman.conf, what's the minimum I need?

include '::pacman'

I just want a pacman configuration with archlinux testing repo?

Testing repo needs to be above all other repos.

The default repos start with order number 10 so everything below is ok.

include '::pacman'
class 'pacman::repo': 'testing':
  include => '/etc/pacman.d/mirrorlist',
  order => '09'

I just want a pacman configuration with a custom repo?

Custom repos needs to be below all other repos.

For that reason. custom repos use order number 99.

include '::pacman'
class 'pacman::repo': 'custom':
  siglevel = 'never',
  server => '$arch',
  order => '99'

My custom repository has a signing key that needs to be added

# Fetch the key from using hkp
pacman::key { 'mykey':
    keyid => '0x0123456789ABCDEF0123456789ABCDEF012345678',

# Fetch the key from a URL on the web using curl
pacman::key { 'mykey':
    keyid => '0x0123456789ABCDEF0123456789ABCDEF012345678',
    url   => '',

# Fetch the key from a local file or puppet
pacman::key { 'mykey':
    keyid  => '0x0123456789ABCDEF0123456789ABCDEF012345678',
    source => "puppet:///modules/$module_name/pgp/my-pgp-key.asc",



  • pacman: Main class, includes all the rest.
  • pacman::repo: Handles the repositories.
  • pacman::config: Handles the pacman configuration
  • pacman::params: all parameters needed for the rest.


This module has been built on and tested against Puppet 5.1.0 and higher. This module works only on archlinux