I agree, OS logic should be in params.pp - see https://github.com/theforeman/puppet-puppet/blob/master/manifests/params.pp#L68 for a simple example. @lzap for some rationale, consider what happens if I use this module on another OS (say, Archlinux) - I have no way to alter your logic without hacking the module.