cookbook 'bash-it', '= 0.1.0'
bash-it (8) Versions 0.1.0 Follow0
Installs/Configures bash-it
cookbook 'bash-it', '= 0.1.0', :supermarket
knife supermarket install bash-it
knife supermarket download bash-it
bash-it
Installs Bash it which is an easy way to make your bash shell awesome
Requirements
-
apt
cookbook -
yum
cookbook -
git
cookbook
Attributes
The node['bash-it']['instance_default']
attributes are parsed out as defaults for the bash_it_instance
resource
The node['bash-it']['repository']
and node['bash-it']['revision']
attributes are used to specify the git repo and revision to clone down bash-it from. It defaults to the official bash-it repo
The node['bash-it']['users']
attribute is an array of usernames that should have bash-it installed accoring to the instance defaults. FYI: I will probably deprecate this in the future
See attributes/default.rb for more details
Recipes
default
- Apt & Yum Recipes
- Install Git
- Configure Bash it for users specified in
node['bash-it']['users']
This recipe is not nessesary so long as git is installed before using the bash_it_instance
LWRP
Global
This recipe will install a global version of bash-it for all users on the system. I don't like this approach personally because it is not flexible and a shell should be configurable to a user's own preferances when possible
In any event, to use this recipe you just need to include bash-it::global
Note: You might need the bash-it::default
recipe to install dependencies as well
This recipe will use the node['bash-it']['instance_default']
keys to determine plugins, aliases, ect.
Resources
bash_it_instance
To install Bash it for a user you simply put bash_it_instance <username>
in your recipe. This is best placed in your users cookbook if you have one.
Default attributes for the bash_it_instance
are stored as node attributes in the node['bash-it']['instance_default']
hash so that you can easily override the defaults
Examples
# Install Bash it for eddie's user bash_it_instance 'edhurtig' # Install Bash it for the root user bash_it_instance 'root' do home '/root' end # Instance with a different theme bash_it_instance 'edhurtig' do theme 'candy' end # the full set of options bash_it_instance 'edhurtig' do home '/home/edhurtig-custom' # A custom home dir theme 'dulice' # Any Bash it theme git 'git@git.hurtigtechnologies.com' # Custom Git Server scm_check true # Whether to check for SCM continuously plugins %w( base history ruby ) # An array of plugins that should be active aliases %w( git rails tmux ) # An array of aliases that should be active completions %w( git ssh tmux test-kitchen ) # An array of completions that should be active end
Usage
Include this recipe in a wrapper cookbook:
depends 'bash-it', '~> 1.0'
# Install bash it globally using the node['bash-it']['instance_default'] attributes
include_recipe 'bash-it::global'
# Install an instance of bash-it for a specific user using the defaults
bash_it_instance 'edhurtig'
TODO
See the Issues
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests with
kitchen test
, ensuring they all pass - Submit a Pull Request using Github
License and Authors
Author:: Eddie Hurtig (admin@hurtigtechnologies.com)
Dependent cookbooks
git >= 0.0.0 |
apt >= 0.0.0 |
yum >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Change Log for bash-it
All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
Unreleased
Changed
0.1.0 - 2015-06-15
Added
- Global bash-it installation support
- CentOS Platform to TK
- Coveralls.io integration to repo
Changed
Removed
0.0.2 - 2015-06-09
Added
- templates_cookbook attribute to bash_it_instance LWRP for wrapper cookbooks
Changed
- Fixed Issue #1 where a stateful bug caused convergence failures
Removed
0.0.1 - 2015-06-06
Added
- Initial Release w/ bash_it_instance LWRP
Foodcritic Metric
0.1.0 failed this metric
FC031: Cookbook without metadata file: /tmp/cook/191799e64b933049cc7d27a6/bash-it/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/191799e64b933049cc7d27a6/bash-it/metadata.rb:1
0.1.0 failed this metric
FC045: Consider setting cookbook name in metadata: /tmp/cook/191799e64b933049cc7d27a6/bash-it/metadata.rb:1