cookbook 'bash-it', '~> 0.1.5', :supermarket
bash-it (8) Versions 0.1.5 Follow0
Installs/Configures bash-it
cookbook 'bash-it', '~> 0.1.5'
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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.5 passed this metric
Publish Metric
0.1.5 passed this metric
Supported Platforms 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 passed this metric
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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.5 passed this metric
Publish Metric
0.1.5 passed this metric
Supported Platforms 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 passed this metric
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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.1.5 passed this metric
Publish Metric
0.1.5 passed this metric
Supported Platforms 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 passed this metric
0.1.5 passed this 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 passed this metric
0.1.5 failed this metric
0.1.5 passed this metric