Skip to content

lvicainne/puppet-bashrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BashRC

Build Status

Table of Contents

  1. Description
  2. Setup - The basics of getting started with BashRC
  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. Development - Guide for contributing to the module

Description

A Puppet module to manage the files used by BashRC

Setup

What BashRC module affects

  • modify the files for the machine linked to BashRC in /etc (/etc/bashrc and /etc/profile)
  • modify the skelton files used for new created users in /etc/skel
  • according to your configuration, modify the bashrc files for the selected users Warning : this package will modify the bashrc files (and its skelton files) ! Your console may be directly affected if you already customized it ! Otherwise, you can use it safely.

Beginning with BashRC

A basic example is as follows:

  include ::bashrc

Usage

You can also use natively Hiera :

  include ::bashrc
bashrc::aliases:
    - 'sayhello="echo Bonjour"'
bashrc::users:
    - username: 'root'
      homedirectory: '/root'
      managelocalbashrc: true
    - username: 'myotherusername'
      homedirectory: '/home/myotherusername'
      managelocalbashrc: true

If you use Hiera and you want to use the hierarchy using this Puppet syntax :

  class { '::bashrc':
    aliases    => hiera_array('bashrc::aliases'),
    users      => hiera_array('bashrc::users'),
    extensions => hiera_array('bashrc::extensions'),
  }

In this way, you can merge (with hiera_array) the parameters

Reference

Public Classes

Class: bashrc

A class for managing the bashrc configuration files

Attributes

aliases
bashrcdirectory
bashrcd_puppet_filename
etcbashfile
extensions
grep_color_value
maildirectory
manage_custom_bashrc
manage_etc_file
manage_skeltons
profileddirectory
ps1_colored
ps1_default
ps1_screen
selected_pager
selected_editor
selected_editor_path
skeldirectory
template_etc_bashrc
template_etc_profile
users
history_control
history_size
history_file_size
history_time_format

Limitations

This module has only been tested on my Debian and Centos servers. I can not guarantee for any other Operating System

Development

You are pleased to fork this module and adapt it for you needs. I am open to any Pull Request :-)

Release Notes/Contributors/Etc.

Thanks to contributors : lvicainne, beckonconn, markruys

  • v0.0.7 Support puppetlabs/concat 4.2.1
  • v0.0.6 Metadata.json correction
  • v0.0.5 Adding in the ability to customize the bash history controls in the user bashrc. Also fixed the "WARNING: arrow should be on the right operands line" that would come up on puppet lint.
  • v0.0.4 Rename lvicainne-bashrc to puppet-bashrc
  • v0.0.3 Enable autocompletion
  • v0.0.2 Improve the history command with datetime, improve the order of the bashrc using concat
  • v0.0.1 First Running version