This module will configure pacman package manager on Archlinux




5,153 latest version

1.6 quality score

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

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