fabsetup
========

Fabric tasks in order to set up and maintain configurations, software
installations and other things on a local or remote linux system (most
functionality for Debian/Ubuntu).

    *"dotfiles on steroids"*

Usage
-----

**fabsetup** is a **`fabric <http://www.fabfile.org/>`__** script.

.. code:: sh

    # task infos

    ## list all tasks: '-l'
    fabsetup -l

    ## show details: '-d'
    fabsetup -d setup.vim_janus


    # run tasks

    fabsetup setup.regex_repl

    ## on your local host:
    fabsetup setup.pencil3 -H localhost

    ## remote host:
    fabsetup up -H example.com

**`Setup-Howtos <./howtos>`__**:

-  Customize fabsetup: `Initialize git repository
   ``fabsetup_custom`` <./howtos/fabsetup_custom.md>`__
-  `Set up an environment without sudo access <./howtos/no-sudo.md>`__
-  `Webserver Certificates with Letsencrypt <./howtos/letsencrypt.md>`__
-  `Host an Owncloud Service <./howtos/owncloud.md>`__
-  `Host an own F-Droid Repository <./howtos/f-droid-repo.md>`__
   (Android App Repository)
-  `Host a Selfoss Service <./howtos/selfoss.md>`__ (RSS Reader Web
   Application)
-  `Install latest Node.js via nvm <./howtos/nodejs.md>`__
-  `Create or update a reveal.js presentation <./howtos/revealjs.md>`__
-  **`How to create and write a
   fabsetup-addon <./howtos/fabsetup-addon.md>`__**

Known fabsetup-addons
---------------------

-  `fabsetup-theno-termdown <https://github.com/theno/fabsetup-theno-termdown>`__

Installation
------------

As a `pypi package <https://pypi.python.org/pypi/fabsetup>`__ with
command ``pip`` (recommended way):

.. code:: sh

    pip install fabsetup

    # without superuser privileges
    pip install --user fabsetup

When running with ``--user``, pip installes the command ``fabsetup`` at
``~/.local/bin``. `Assure <https://stackoverflow.com/a/14638025>`__ that
``~/.local/bin`` is set in your ``$PATH`` environment variable.

You also can clone the `github
repository <https://github.com/theno/fabsetup>`__ instead of using
``pip``:

.. code:: sh

    # install requirements
    sudo apt-get install  git  fabric
    pip install --user utlz

    git clone  https://github.com/theno/fabsetup.git  ~/.fabsetup

    # from ~/.fabsetup dir use `fab` instead of `fabsetup`
    cd ~/.fabsetup
    fab -l
