Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms


gozer (4) Versions 0.0.3

Build my workstation

cookbook 'gozer', '= 0.0.3'
cookbook 'gozer', '= 0.0.3', :supermarket
knife supermarket install gozer
knife supermarket download gozer
Quality -%


This cookbook builds a workstation. It is customized to build a workstation for me. That means if you are just like me, then this is just the cookbook for you.

What's it built on?

This cookbook was intended to used against a fresh install of xubuntu. But since it's structured around ubuntu, really any flavor should work. Xubuntu just provides a nice set of default apps that integrate well with everything else.

What's it provide?

It provides all the things I need or want on my workstations. Most configuration is data bag driven. Generally configuration files are built and the contents then stuffed into a data bag. Things get moved into templates as I find custom configs are required/wanted between different machines. Stuff you get:


The i3 window manager. This is installed from a standalone cookbook.


Cone is a console email client. It's made by those courier folks. Configuration of the .cone/conerc file is via data bag structured like:

# data_bags/gozer/conerc.json
  "id": "conerc",
  "content": "conerc_file_contents"


Finch is a console version of pidgin. I use it for all my IM needs. This recipe basically takes care of IM related bits, so it will install finch plus Skype and a campfire plugin for finch. It uses a couple data bags for configuration. The skype item for skype and the purple item for finch:

# data_bags/gozer/skype.json
  "id": "skype",
  "username": "skype.username",
  "content": "~/.Skype/skype.username/config.xml"

# data_bags/gozer/purple.json"
  "id": "purple",
  "files": {
    "accounts.xml": "contents_of_dot_purple_accounts.xml",
    "prefs.xml": "contents_of_dot_purple_prefs.xml"


Installs firefox and adds the default extensions that I use. Extensions are enabled globally for the firefox install. Related attributes:

  • node[:gozer][:firefox][:extension_dir] = '/usr/lib/firefox-addons/extensions'
  • node[:gozer][:firefox][:addons] = {:ghostery => 'https://addon_url.xpi'}

By default the following addons are installed:

  • ghostery
  • adblock
  • flashblock
  • noscript


Installs git and git-flow. Configures git and email. Attributes for git config:

  • node[:gozer][:git][:name] = 'your name'
  • node[:gozer][:git][:email] = ''


Automatically pull repos from accounts and organizations as directed. Throws them in a Projects directory within the user's home. Related attributes:

  • node[:gozer][:github][:accounts] = %w(chrisroberts spox)
  • node[:gozer][:github][:exclude][:chrisroberts] = %w(red_unicorn)
  • node[:gozer][:github][:allow_forks][:chrisroberts] = true

NOTE: Important note that github interactions are currently unauthenticated. That means that only public repositories will be cloned.


Adds a helper script for gcalcli to easily display calendar and agenda in the console. A data bag is used for configuration. It looks like this:

# data_bags/gozer/google.json
  "id": "google",
  "info": {
    "user": "",
    "password": "acct_pass"

A helper script that uses this info will be available in /usr/local/bin named my_gcal and can be used:

  • my_gcal calendar -> Displays calendar and refreshes every hour
  • my_gcal agenda -> Displays agenda and refreshes every hour


Installs the weekly package builds of go.


Sets up all the junk required in the home directory like ssh keys and the like. Oh, also creates the user.


Installs and loads configuration for irssi. Uses data bag for configuration:

# data_bags/gozer/irssi.json
  "id": "irssi",
  "content": "content_of_dot_irssi_config"


Easy addition and removal of packages:

  • node[:gozer][:packages] = %w(tmux moc) # packages to install
  • node[:gozer][:kill_pacakges] = %w(thunderbird) # packages to remove


Installs a global instance of RVM. Installs any requested gems into any available RVM versions on the system.

  • node[:rvm][:gems] = %w(chef knife-ec2) # gems to install to rubies


Sets up the sudoers so no password is required


Does system related stuff. Sets hostname. Does apt-get upgrades if updates found.


Creates the user account defined. Provides some custom scripts in the user's bin directory. Adds some files from data bags for .ssh and .chef:

# data_bags/gozer/chef.json
  "id": "chef",
  "files": {
    "my.pem": "contents",
    "other_file": "contents"

# data_bags/gozer/ssh_keys
  "id": "ssh_keys",
  "keys": {
    "id_rsa": "contents",
    "": "contents"


Installs and configures vim. Adds some plugins.

  • node[:gozer][:vim][:bundles] = %w(git://


Installs virtualbox and related packages


Installs VPN software plus configuration files


A backup script is provided for rsyncing the user home directory to an external device. The disk UUID is used for identification while mounting:

Other attributes

  • node[:gozer][:data_bag_name] = 'gozer'

This is the name used when finding data bag item configurations

  • `node[:gozer][:encrypted_bags] = %w(ssh_keys chef irssi)

This is the list of data bag items that are encrypted. By default all data bag items used by the recipes are here.

  • node[:gozer][:github][:known_hosts] = []

The known hosts for dealing with github


Provides backup script for syncing home directory to disk. Uses disk UUID for identification when mounting

  • node[:gozer][:backup][:uuid] = 'disk-uuid'


Dependent cookbooks

apt >= 0.0.0
ohai >= 0.0.0
i3 >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

No quality metric results found