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

Select Status


vim-go (2) Versions 0.1.2

Installs/Configures vim-go

cookbook 'vim-go', '~> 0.1.2', :supermarket
cookbook 'vim-go', '~> 0.1.2'
knife supermarket install vim-go
knife supermarket download vim-go
Quality 33%

vim-go cookbook

vim-go (0.1.2) Installs/Configures vim-go

Installs vim-go in the .vimrc for each user based on the users data_bag

If node[:vim_go][:user_databag] is set it will install for all the users listed in the databag that have vim: true.

The users data_bag format is expected to be in the format of the fnichol/chef-user or opscode-cookbooks/users cookbooks".
Only the "id" and "vim" keys are used by this cookbook.

Right now it also installs the following:

  • git
  • golang
  • vim-nox
  • pathogen.vim
  • vim-go

It also sets up a basic .vimrc suitable for go development

The content for .vimrc is set in node[:vim_go][:vimrc] and the default is:

set nocompatible
set t_Co=16
execute pathogen#infect()
filetype indent plugin on
syntax enable
set number
set mouse=a
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_structs = 1
let g:go_fmt_command = "goimports"
au FileType go nmap s (go-implements)
au FileType go nmap i (go-info)

You can override the attribute node[:vim_go][:vimrc] with alternative content
or set it to nil to have the cookbook do nothing with .vimrc.

Will not overwrite:

  • ~/.vim/bundle/vim-go
  • ~/.vim/autoload/pathogen.vim

Only tested with ubuntu 14.04 but probably will work elsewhere.

WARNING: If $GOBIN isn't writable by the user having vim-go installed, the
:GoInstallBinaries command will fail and probably screw up the chef-client
logging output. Thus `node[:vim_go][:install_go_binariers] is false by default

Make sure GOBIN points to somewhere that your user can write to.



ubuntu >= 14.04


apt >= 0.0.0

git >= 0.0.0

golang >= 0.0.0

vim >= 0.0.0


  calculated: false
  choice: []
  default: users
  description: Name of the users data_bag
  display_name: Users Databag
  type: string
  recipes: []
  required: optional

  calculated: false
  choice: []
  default: true
  description: Install Vim using the vim cookbook
  display_name: Install Vim
  type: boolean
  recipes: []
  required: optional

  calculated: false
  choice: []
  default: false
  description: Install go binaries with vim :GoInstallBinaries
  display_name: Install Go Binaries
  type: boolean
  recipes: []
  required: optional

  calculated: false
  choice: []
  default: See main description
  description: Sets the .vimrc content if there is no existing .vimrc
  display_name: Vimrc
  type: string
  recipes: []
  required: optional


  Does all the work to install vim-go and dependencies

Testing and Utility

<:task default=""> [prepare, test]>
  Install required Gems and Cookbook then run all tests

<:task direnv=""> []>
  Setup direnv by updating path to have chefdk first and remove any rvm directories from the PATH

<:task integration=""> [integration:kitchen]>

<:task integration:kitchen=""> []>

<:task kitchen:all=""> [default-ubuntu-1404]>
  Run all test instances

<:task kitchen:default-ubuntu-1404=""> []>
  Run default-ubuntu-1404 test instance

<:task prepare=""> [prepare:bundle, prepare:berks]>
  Install required Gems and Cookbooks

<:task prepare:berks=""> []>

<:task prepare:bundle=""> []>

<:task readme=""> []>
  Generate the file.

<:task spec=""> [unit]>

<:task style=""> [style:foodcritic, style:rubocop]>
  Run all style checks

<:task style:foodcritic=""> []>

<:task style:rubocop=""> []>

<:task test=""> [style, unit, integration]>
  Run all tests

<:task unit=""> [unit:chefspec]>
  Run all unit tests

<:task unit:chefspec=""> []>

<:task yard=""> []>
  Generate YARD Documentation

License and Authors

The following engineers have contributed to this code:
* Robert J. Berger - 16 commits

Copyright:: 2015, Mist Systems, LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.


We welcome contributed improvements and bug fixes via the usual workflow:

  1. Fork this repository
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new pull request

Dependent cookbooks

apt >= 0.0.0
git >= 0.0.0
golang >= 0.0.0
vim >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.


This file is used to list changes made in each version of the vim-go cookbook.


  • rberger - Initial release of vim-go


  • rberger - Moved to using cookbooks instead of packages for git and vim. Added attribute to disalbe installing vim


  • rberger - Added more attributes to control what is installed. In particular, the .vimrc content is now an attribute and :GoInstallBinaries is only run if the attribute is set and its off by default since it depends on how GOBIN is set.

Check the Markdown Syntax Guide for help with Markdown.

The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.

Collaborator Number Metric

0.1.2 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

0.1.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

0.1.2 passed this metric

No Binaries Metric

0.1.2 passed this metric

Testing File Metric

0.1.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

0.1.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number