Set up and maintain configurations, software installations and other things on a local or remote linux system.
Source: https://github.com/theno/fabsetup
Documentation: https://fabsetup.readthedocs.io
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, is a pimpedfab
command with the same options and arguments. 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 and Invoke tasks
Install fabsetup the same way like fabric, best via pip:
pip install fabsetup
Run task info
:
fabsetup info
Important options:
# Show versions
fabsetup --version
# Help
fabsetup -h
# List tasks
fabsetup -l
# Show task help
fabsetup info --help
fabsetup new --help
Invokes shell tab completion also works with fabsetup:
fabsetup -h | grep -A1 "completion"
Apply this simple setup of tab completion in bash:
echo 'source <(fabsetup --print-completion-script bash)' >> ~/.bashrc
source ~/.bashrc
Now You are able to "tab" through the available fabsetup tasks and options:
fabsetup --h<TAB><TAB> -> --help --hide --hosts
fabsetup --he<TAB> -> fabsetup --help
fabsetup --help i<TAB> -> fabsetup --help info
More features: Advanced Usage
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:
pip install fabsetup-theno-termdown
Now You are able to run the task theno.termdown
. This task sets up
termdown, locally or on a remote
host:
# local
fabsetup theno.termdown
# remote
fabsetup -H user@host theno.termdown
More infos: Fabsetup Addons
Create Your own fabsetup addon doing great things! Start now:
fabsetup new
More infos: Create a Fabsetup Addon