# Configure private custom repo for those dists that support it class profiles::repo ( Enum['present', 'absent'] $ensure = 'present', ) { case $facts['osfamily'] { 'Archlinux': { pacman::repo { 'adrift-space': ensure => $ensure, server => 'https://repo.adrift.space/arch', siglevel => 'Optional', } } 'Debian': { $cn = $facts['os']['distro']['codename'] $content = @("EOF") # File managed by Puppet # Local changes WILL be overwritten deb [trusted=yes] https://repo.adrift.space/debian ${cn} main deb-src [trusted=yes] https://repo.adrift.space/debian ${cn} main | EOF file { '/etc/apt/sources.list.d/adrift-space.list': ensure => if $ensure == 'present' { 'file' } else { 'absent' }, content => $content, } } } }