Puppet module and accompanying documentation to install/setup Arch linux on a MacBook Pro Retina 11,4
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Table of Contents

  1. Overview
  2. Requirements
  3. Hardware Support Status
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module
  7. Other References - Information on Arch Linux


TravisCI Build Status Badge PuppetForge version badge Project Status: Active - The project has reached a stable, usable state and is being actively developed.

Puppet module and accompanying documentation to install/setup Arch linux on a MacBook Pro Retina using Puppet (version 4 or 5).

This is the puppet module I use to manage my shiny new MacBook Pro Retina (mine is a MacBookPro11,4).

Important Notice: It is highly recommended that you only run this module on a brand new system; it makes some opinionated choices that may cause problems on existing systems.


Hardware Support Status

Mid-2015 MacBookPro11,4 as of 2018-02-02


Or mostly-working:

  • Touchpad using Kernel 4.2+ and xf86-input-synaptics; works for tap-to-click, drag, two-finger scroll, and 2- or 3-finger taps (sometimes) for different mouse buttons.
  • Networking on MacBookPro 11,4
    • USB ethernet adapter A1277 works out-of-the-box
    • BCM43602 AirPort Extreme (14e4:43ba) works with kernel built-in brcmfmac driver, autodetected, both 2.4GHz and 5GHz.
  • Sound - Works. Under KDE/Phonon, needed to unmute/enable the "Built-in Audio Analog Stereo" (detected "Built-in Audio Digital Stereo (HDMI)" as default).
  • Video - video works with the proprietary nvidia driver, the default in this module.
    • External Displays - Tested OK using both direct HDMI and Thunderbolt to HDMI (1 or 2 external monitors); works seamlessly.
    • Display/Desktop Scaling - This can be fixed within KDE:
      • System Settings -> Fonts: check off "Force fonts DIP" and set to 144
      • System Settings -> Icons -> "Advanced" tab: set them all to 48
      • Click the menu button on the far right edge of the Panel, then drag the "Height" box up until the scale/size looks good
    • Screen Backlight Adjustment - works using /sys/class/backlight/acpi_video0/brightness, the sliders on 'KDE5 System Settings -> Energy Saving' or the keyboard function keys.
  • Hibernate / Suspend to Disk - doesn't wake up without long hold of power button & then turn back on. Session resumes once that's done.
  • SD Card Reader - Working out of the box.
  • Fans - macfanctld (AUR)
  • Webcam - This works properly in Linux using the bcwc-pcie-dkms and bcwc-pcie-firmware AUR packages.
  • Bluetooth - Per wiki, fully supported as of kernel 4.4.0. Works with my bluetooth mouse.


  • Suspend to RAM - (haven't tested in many months; I never use this) doesn't wake up; long hold of power button & then turn back on gives a fresh boot.
  • Lid Close - suspends to ram and doesn't wake up, but this could be a configuration issue. I never use this functionality.

Untested / To Do


For full automatically-generated documentation see: http://jantman.github.io/puppet-archlinux-workstation/


This module is only usable with Arch Linux on a MacBook Pro Retina.

It assumes that you have a relatively vanilla base install of Arch, such as the one I document in my workstation-bootstrap module, pretty much the same as the Arch Linux Installation Guide documents.


See CONTRIBUTING.md for information about development and contributing.

Other References