https://github.com/theno/fabsetup
Yet another setup script for linux software, configurations and services.
https://github.com/theno/fabsetup
configuration dotfiles fabric howto linux provisioning setup
Last synced: 3 months ago
JSON representation
Yet another setup script for linux software, configurations and services.
- Host: GitHub
- URL: https://github.com/theno/fabsetup
- Owner: theno
- License: mit
- Created: 2016-04-19T21:59:06.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2023-01-11T17:04:41.000Z (over 2 years ago)
- Last Synced: 2024-09-27T23:01:32.609Z (7 months ago)
- Topics: configuration, dotfiles, fabric, howto, linux, provisioning, setup
- Language: Python
- Homepage: https://fabsetup.readthedocs.io/
- Size: 836 KB
- Stars: 15
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Welcome to Fabsetup!
**Set up and maintain configurations, software installations and other
things on a local or remote linux system.**Source:
Documentation:
Features:
* Fabsetup's **tasks** do the things:
* tasks execute commands commented and comprehensible
* tasks produce output formatted in Markdown or HTML
* run a task local or on a remote host* **Addons**:
* only install the tasks you need
* create Your own addon with Your task* The Command **`fabsetup`**, based on [Fabric](https://www.fabfile.org/),
is a pimped [`fab` command](
https://docs.fabfile.org/en/latest/getting-started.html#addendum-the-fab-command-line-tool)
with the same [options and
arguments](https://docs.fabfile.org/en/latest/cli.html). And some more:* Control markdown formatted output:
* `--hide-code-block`
* `--hide-command-line`
* `--hide-command-output`
* `--hide-docstring`
* `--hide-header`
* `--hide-print`
* `--unnumbered`
* `--pandoc-add-toc`* Write output to file:
* `--outfile`
* `--pandoc-html-file`* Control ANSI color codes:
* `--color-off`
* `--color-keep`* Control execution of commands:
* `--interactive`
* Load fabfiles and invoke tasks:
* `--load-fab`
* `--load-inv`* Show effective config:
* `--show-config`
* List known Fabsetup addons:
* `--known-addons`
* **API**:
* for Your own Fabsetup addon
* use Fabsetup in Your own [Fabric tasks](
https://docs.fabfile.org/en/2.5/api/tasks.html#fabric.tasks.task)
and [Invoke tasks](
http://docs.pyinvoke.org/en/latest/getting-started.html#defining-and-running-task-functions)## Installation
Install fabsetup the same way like
[fabric](https://www.fabfile.org/installing.html), best via
[pip](https://pip.pypa.io/):```sh
pip install fabsetup
```## Usage
Run task `info`:
```sh
fabsetup info
```Important options:
```sh
# Show versions
fabsetup --version# Help
fabsetup -h# List tasks
fabsetup -l# Show task help
fabsetup info --help
fabsetup new --help
```## Tab Completion
Invokes [shell tab completion](
https://docs.pyinvoke.org/en/stable/invoke.html#tab-completion) also works
with fabsetup:```sh
fabsetup -h | grep -A1 "completion"
```Apply this simple setup of tab completion in bash:
```sh
echo 'source <(fabsetup --print-completion-script bash)' >> ~/.bashrc
source ~/.bashrc
```Now You are able to "tab" through the available fabsetup tasks and options:
```sh
fabsetup --h -> --help --hide --hosts
fabsetup --he -> fabsetup --help
fabsetup --help i -> fabsetup --help info
```More features:
[Advanced Usage](https://fabsetup.readthedocs.io/en/latest/advanced-usage.html)## Addons
Fabsetup itself only comes with two tasks, `info` and `new`. The tasks
that "really do things" reside in separate fabsetup addons.They will be installed the same way like fabsetup and fabric, best via pip.
For example:```sh
pip install fabsetup-theno-termdown
```Now You are able to run the task `theno.termdown`. This task sets up
[termdown](https://github.com/trehn/termdown), locally or on a remote
host:```sh
# local
fabsetup theno.termdown# remote
fabsetup -H user@host theno.termdown
```More infos:
[Fabsetup Addons](https://fabsetup.readthedocs.io/en/latest/addons.html)## Your Addon
Create Your own fabsetup addon doing great things! Start now:
```sh
fabsetup new
```More infos:
[Create a Fabsetup Addon](https://fabsetup.readthedocs.io/en/latest/create-addon.html)