frozenfoxx-vundle

A Puppet module to dynamically install and configure Vundle for users


Keywords
puppet, puppet-module, vim, vundle
License
Apache-2.0
Install
puppet module install frozenfoxx-vundle --version 0.1.3

Documentation

puppet-vundle

Table of Contents

  1. Description
  2. Setup - The basics of getting started with vundle
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Contribute - Guide for contributing to the module

Description

This is a module designed to configure and install Vundle, the plug-in manager for Vim. It has been designed with Linux and Unix systems in mind for Puppet 4+. Separate installations of Vundle for every user are easily handled which gives a great degree of flexibility.

While not required due to the complexity of some of the options Hiera's usage is strongly encouraged.

Setup

Setup Requirements

  • Git
  • Vim
  • Puppet >= 4.0
  • Facter >= 3.0
  • Stdlib module

Beginning with vundle

Getting started with Vundle is as simple as including the module with the name of the user desired:

vundle::installation { 'username': }

Additional options can be attached easily:

vundle::installation { 'username:'
  plugins => [ 'someuser/someplugin', 'otheruser/someplugin'],
}

If using Hiera which is highly recommended you'll end up with this:

puppet code

$vundleusers = lookup('vundleusers', { ‘merge’ => ‘hash’ })
create_resources('vundle::installation', $vundleusers)

hiera.yaml

---
vundleusers:
  user1:
    plugins:
      - 'vundlemaker/vundleplugin'
      - 'vundlemaker2/vundleplugin'

Usage

Vundle is installed and configured on a per-user basis. You're going to want to as a result use the defined type, vundle::installation { 'username': }. To create many, it's recommend to use a hash in Hiera and use a create_resources call to do this, like so: puppet code:

$userList = lookup('vundle-users', { ‘merge’ => ‘hash’ })
create_resources('vundle::installation', $userList)

hiera file:

---
vundle-users:
  'user1':
    plugins:
      - 'vundlemaker3/vim-someplugin'
  'user2':
    path:     '/home/notnormal/user2'
    plugins:
      - 'vundlemaker4/vim-otherplugin'
      - 'L9'

If desired, this plugin can also install Vim easily by setting viminstall => true.

Reference

  • name: used as the username to install Vundle under.
  • path: path to the user's home. Default: /home/${name}
  • plugins: array of strings for Plugin lines in the .vimrc. Default: []
  • viminstall: allows installing Vim directly. Default: false

Limitations

This module has only been tested on Ubuntu systems. It will likely work with others but has not been tested at this time.

Contribute

  • Fork it
  • Create a topic branch
  • Improve/fix
  • Push new topic branch
  • Submit a PR