CLI tool to manage and backup your configuration files
- node.js
>= 10
- npm
npm install -g icbm
- yarn
yarn global add icbm
- For supported configuration files
icbm add file_name
- For not supported configuration files
icbm add your_conf_name /path/to/your_conf
- Configurations currently supported
- bash_profile (
$HOME/.bash_profile
) - bashrc (
$HOME/.bashrc
) - gitconfig (
$HOME/.gitconfig
) - vimrc (
$HOME/.vimrc
) - zshrc (
$HOME/.zshrc
)
- bash_profile (
- This action will remove configuration from icbm and return it to original path.
(e.g. remove the symbolic link and return the managed
bash_profile
to$HOME/.bash_profile
)
icbm remove file_name
icbm upload
icbm download
- Set config
icbm config set config_name config_value
- Get config
icbm config get config_name
- Get all configs
icbm config get
- Configurations
- Repository Type
repository.type
(Only gist is available now) - Gist id
repository.gist
(You can set using prompt in uploading and downloading) - Github Token
repository.githubToken
(You can set using prompt in uploading. https://github.com/settings/tokens) - Create backup on add
file.createBackup
(.bak file will be created on add.true
by default.)
- Repository Type
- resolve paths in different os and env(like $HOME)
- multiple repositories to backup configurations
- node api
- rewrite in golang(for standalone app)
- support for other apps (list of formulas like
brew list
andbrew cask list
)