cookbook 'bash-it', '~> 0.1.5'
bash-it (8) Versions 0.1.5 Follow0
Installs/Configures bash-it
cookbook 'bash-it', '~> 0.1.5', :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
bash-it::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
bash-it::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.5] - 2015-08-04
Changed
- Added a user and group attribute to
bash_it_instance
. User attribute defaults to name attribute if not specified. Group will default to root. Used to set the owner and group of files created
[0.1.4] - 2015-06-23
Changed
- Fixed a potential security problem in the bashrc template where the .exports file could exist outside the user's home directory and an unexpected .exports file could be sourced upon reload
[0.1.3] - 2015-06-17
Changed
- The bashrc template to check if there are any files matching ~/.bashrc_* before iterating
Removed
- Docker from the default list of plugins and aliasses
[0.1.2] - 2015-06-15
Removed
- An unnessesary only_if guard
[0.1.1] - 2015-06-15
Changed
- Fixed Issue #3 where items that were previously enabled were not being disabled
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
Collaborator Number Metric
0.1.5 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.1.5 passed this metric
Foodcritic Metric
0.1.5 failed this metric
FC085: Resource using new_resource.updated_by_last_action to converge resource: bash-it/providers/instance.rb:57
FC085: Resource using new_resource.updated_by_last_action to converge resource: bash-it/providers/instance.rb:69
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.5 passed this metric
Testing File Metric
0.1.5 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.5 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.5 failed this metric
0.1.5 passed this metric
Foodcritic Metric
0.1.5 failed this metric
FC085: Resource using new_resource.updated_by_last_action to converge resource: bash-it/providers/instance.rb:57
FC085: Resource using new_resource.updated_by_last_action to converge resource: bash-it/providers/instance.rb:69
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.5 passed this metric
Testing File Metric
0.1.5 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.5 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.5 failed this metric
FC085: Resource using new_resource.updated_by_last_action to converge resource: bash-it/providers/instance.rb:69
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.1.5 passed this metric
Testing File Metric
0.1.5 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.5 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.5 failed this metric
0.1.5 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number