https://github.com/iamshobe/fast-installer
https://github.com/iamshobe/fast-installer
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/iamshobe/fast-installer
- Owner: IamShobe
- Created: 2020-01-18T15:46:06.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-08T15:29:27.000Z (over 4 years ago)
- Last Synced: 2024-03-14T20:51:41.999Z (over 1 year ago)
- Language: Python
- Size: 49.8 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
fast-installer
==============make fast install configurations using config file:

## Install
```bash
pip3 install fast-installer
```## Usage
cli:
```bash
fastinstall # this will run current directory config.yaml file.
```to install all steps:
```bash
fastinstall -a
```for more:
```bash
fastinstall -h
```## config file
### Example
```yaml
options:
- description: "Zsh configurations"
key: zsh
steps:
- description: "Linking files"
links:
~/.zshrc.d: assets/zsh/zshrc.d/
~/.zshrc: assets/zsh/zshrc
shell:
- echo "test"
- command: ls not_exists
allow_fail: true
- command: tail -f /dev/null
allow_fail: true
timeout: 1 # 1 seconds
```### Structure
Key | Type | Is Required | Comments
:-----------: |:-----------:|:-----------:|:---------
options | list | yes | list of [option](#option)s#### option
a dictionary with the following keys:Key | Type | Is Required | Comments
:-----------:|:-----------:|:-----------:|:---------
description | string | yes |
key | string | yes |
steps | list | yes | list of [step](#step)sThe steps will be run from the first to the last.
#### step
a dictionary with the following keys:Key | Type | Is Required | Comments
:-----------: |:-----------: |:-----------:|:---------
description | string | yes |
[links](#links)| dictionary | no | make a soft link
[shell](#shell)| dictionary/string | no | execute shell command#### links
a dictionary where the key is the dest soft link location and value is the source location.##### Example
```yaml
links:
~/.zshrc.d: assets/zsh/zshrc.d/
```#### shell
execute a shell command.
can be either a string (which is the shell command to be executed).
or a dictionary:Key | Type | Is Required | Comments
:-----------: |:-----------: |:-----------:|:---------
command | string | yes | command to be executed
allow_fail | bool | no | allow command to fail - default True
timeout | int | no | timeout for the command - default 10 seconds