Project

bashman

0.0
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Record bash profile files and settings
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.16
~> 10.0
~> 3.0

Runtime

 Project Readme

Bashman

A Ruby gem and executable for *nix profile backup.

Usage

This gem includes the bashman executable for managing profiles.

$ bashman -h
Usage: bashman [OPTIONS]

    -a, --apply                      Apply saved profile
    -i, --items homebrew,shell       Shell components to apply or save. Defaults to 'all'.
    -p, --profile PROFILE            Profile name. Set to 'default' if not specified.
    -s, --save                       Save profile settings.
    -v, --verbose                    Turn on verbose messages.
    -V, --version                    Show version
    -y, --yes                        Do not ask for confirmation
    -h, --help                       Show this help message

For script development, the gem provides the following classes:

Class Name Purpose
Profile Overall user profile container
Profile::HomeBrew Homebrew information for Mac users
Profile::Shell General shell items like .profile, .bashrc, etc.

Configuration

Bashman looks for the ~/.bashman/config file for configuration information. At present the only configuration is for [shell] and controls which shell files to include/exclude from the profile backup. Useful for limiting backup to desired configuration items and omitting sensitive and/or unnecessary components like SSH keys.

[shell]
    exclude = .vim/bundle
    include = .bash*, .git* .irb*, .iterm2*, .profile*, .vim*

Development

This is still in very early stages of development and is likely to be buggy.

This was built as a learning experience that results in something useful at least to me. Because of this I'm sure there is a lot missing that should probably be included, not the least of which would be code tests. If all goes well that will be included in the not too distant future.

There are plans for adding more functionality, including applying saved profiles back to the current user.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/drbayer/bashman.

License

The gem is available as open source under the terms of the MIT License.