Skip to content

Latest commit

 

History

History
165 lines (127 loc) · 4.39 KB

README.md

File metadata and controls

165 lines (127 loc) · 4.39 KB

software

Build Status Puppet Forge Puppet Forge Downloads Puppet Forge Score

####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 software
  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.
  7. Development - Guide for contributing to the module
  8. Contributors

##Overview

Puppet Module to install various Desktop Software

##Module Description

The software module provides classes to install many commonly needed Desktop Applications.
Many of these applications require little or no configuration and are mostly Graphical.
This module provides a quick way to get many repetitive apps installed.

This module currently supports:

  • Apple Mac OS X
  • Ubuntu Desktop
  • Windows

Other modules exist for many of these applications and I have used some of them as examples, but I prefer to manage these in one module.
Each application has a class, which you may include separately to install exactly the applications you desire.

##Setup

###What software affects

only installs apps (OS X) and packages (Ubuntu, Windows)

###Setup Requirements

only need to install the module

###Beginning with software

Install only Google Chrome browser:

include software::browsers::chrome

##Usage

###Install various apps

include software::browsers::chrome
include software::browsers::firefox
include software::database::pgcommander
include software::database::sequelpro
include software::editors::atom
include software::editors::textmate
include software::entertainment::vlc
include software::idesdk::android_studio
include software::idesdk::android_tools
include software::prefpanes::hosts
include software::prefpanes::launchrocket
include software::social::skype
include software::storage::drive
include software::storage::fetch
include software::storage::filezilla
include software::utilities::alfred
include software::utilities::controlplane
include software::utilities::iterm
include software::utilities::onyx
include software::vcsscm::git
include software::vcsscm::sourcetree
include software::virtualization::virtualbox
include software::virtualization::vagrant
include software::webstack::anvil

###Install everything in the browser group

include software::browsers

###Install apps with hiera yaml

hiera_include('classes')
---
classes:
- software::browsers::chrome
- software::editors::atom
- software::entertainment::vlc
- software::social::skype

software::browsers::chrome::channel: stable

software::editors::atom::packages:
  language-puppet: {}
  linter: {}
  linter-puppet-lint: {}
  linter-rubocop: {}
software::editors::atom::themes:
  twilight-syntax: {}
software::editors::atom::user: username

##Reference

Classes

  • browsers
  • database
  • editors
  • entertainment
  • idesdk
  • social
  • storage
  • utilities
  • vcsscm
  • virtualization
  • webstack

##Limitations

Some proprietary software requires licenses.
You may need to pass these license keys and possibly urls to use those classes.

This module has been built on and tested against Puppet 3.2.4 and higher.
While I am sure other versions work, I have not tested them.

This module supports modern OS X, Ubuntu, and Windows systems.
This module has been heavily tested on:

  • OS X 10.10 Yosemite
  • OS X 10.11 El Capitan
  • OS X 10.12 Sierra
  • Ubuntu Desktop 14.04
  • Ubuntu Desktop 16.04
  • Windows 10

Many classes also support older versions of OS X, Ubuntu, and Windows.

##Development

Pull Requests welcome
Please at least make sure rake test passes.

##Contributors

Chris Edester (edestecd)