https://github.com/lvicainne/puppet-bashrc
Puppet module for managing BashRC files
https://github.com/lvicainne/puppet-bashrc
bashrc bashrc-files hiera puppet puppet-bashrc skelton-files
Last synced: about 2 months ago
JSON representation
Puppet module for managing BashRC files
- Host: GitHub
- URL: https://github.com/lvicainne/puppet-bashrc
- Owner: lvicainne
- License: other
- Created: 2016-03-27T00:12:54.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-08-24T17:20:29.000Z (over 2 years ago)
- Last Synced: 2025-03-15T12:46:50.924Z (about 2 months ago)
- Topics: bashrc, bashrc-files, hiera, puppet, puppet-bashrc, skelton-files
- Language: Puppet
- Size: 28.3 KB
- Stars: 4
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BashRC
[](https://travis-ci.org/lvicainne/puppet-bashrc)
#### Table of Contents
1. [Description](#description)
2. [Setup - The basics of getting started with BashRC](#setup)
* [What bashrc module affects](#what-bashrc-module-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with bashrc](#beginning-with-bashrc)
3. [Usage - Configuration options and additional functionality](#usage)
4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)## 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:
```puppet
include ::bashrc
```## Usage
You can also use natively Hiera :
```puppet
include ::bashrc
``````yaml
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 :
```puppet
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
* [bashrc](#class-bashrc)
### 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