---
name: "plowmod"
section: "1"
platform: "linux"
package: "plowshare"
version: "2.1.7-4"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/plowmod"
---

# plowmod(1)

Simple plowshare modules management tool

## NAME

plowmod - Simple plowshare modules management tool

## SYNOPSIS

**plowmod** *ACTION* \[*OPTIONS*\]... \[*URL*\]...\
 **plowmod --install** \[*URL*\]...\
 **plowmod --update**\
 **plowmod --status**

## DESCRIPTION

**plowmod** is a command-line tool designed to ease plowshare modules installation and update. The script is standalone and not dependent of other plow\* tools.

At startup, plowdown, plowup, plowprobe, plowlist or plowdel search for *~/.config/plowshare/modules.d/\*/config* files and build an available module list.

Remote repository sources (URLs) can be only git repositories for now.

## OPTIONS

### Action options

- **-i, --install**

  Install from scratch from one or several URLs to plowshare modules directory (see **--modules-directory** switch below). For now, this is a simple **git clone**. From repository URL, a sub-directory name is figured out (some kind of basename) and will be created in plowshare modules directory.

- **-s, --status**

  Print some useful information about modules directories found and possible conflicts (when using **-v3** switch).

- **-u, --update**

  Browse plowshare modules directory (each sub-directory) and try to update sources. For now, this is a simple **git pull**.

### Logging options

- **-v,** **--verbose=***LEVEL*

  Set output verbosity level:

  **0**  none,

  **1**  errors,

  **2**  notice (default behavior),

  **3**  debug,

  **4**  report (very noisy, not very useful here).

- **-q, --quiet**

  Alias for **-v0**. Do not print any debug messages.

### Miscellaneous options

- **--no-color**

  Disables log messages (stderr only) output coloring.

- **--modules-directory=***DIR*

  Set plowshare modules directory. Default is *~/.config/plowshare/modules.d/*. You should not modify this unless you are a package maintainer or want to embed plowshare into PHP.

### Generic program information

- **-h, --help**

  Display main help and exit.

- **--version**

  Output version information and exit.

## FILES

- *~/.config/plowshare/modules.d/*

  User plowshare modules directory for installation or update of repository sources. This location prevails over ones listed below.

- */usr/share/plowshare/modules/*

  **(replace /usr with your installation prefix)** Since plowshare is not delivered with modules anymore, this is unused. This is still supported for compatibility purpose but you are discouraged using it.

- *~/.config/plowshare/modules/*

  Obsolete user modules directory. Prefer using **~/.config/plowshare/modules.d/xxx/** instead.

## ENVIRONMENT VARIABLES

The following environment variables may affect plowmod:

- *HOME*

  Search for user configuration directory in **~/.config/plowshare** (see FILES section above).

- *PLOWSHARE\_CURL*

  Specifies an alternate curl command (**$PATH** search is considered). If not defined, **curl** is used.

- *XDG\_CONFIG\_HOME*

  The directory to store user configuration files. If not defined, **~/.config** is assumed.

## EXIT CODES

Possible exit codes are:

- 0

  Operation success.

- 1

  Fatal error. Unexpected result.

- 8

  System generic error.

- 15

  Unknown command line parameter or incompatible options.

If **plowmod** is invoked with multiple URLs (command-line arguments), and one or several errors occur, the first error code is returned added with 100.

## AUTHORS

Plowshare was initially written by Arnau Sanchez. See the AUTHORS file for a list of some of the many other contributors.

Plowshare is (C) 2010-2016 The Plowshare Team

## SEE ALSO

[**plowdown**(1)](/plowdown/1.md), [**plowup**(1)](/plowup/1.md), [**plowdel**(1)](/plowdel/1.md), [**plowlist**(1)](/plowlist/1.md), [**plowprobe**(1)](/plowprobe/1.md), [**plowshare.conf**(5)](/plowshare.conf/5.md).
