Giter VIP home page Giter VIP logo

puppet-vundle's Introduction

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

puppet-vundle's People

Contributors

frozenfoxx avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.