# pkg

install or remove packages

Before the first install of a run on a host, apply refreshes the package index. After a repo step changed something, the next pkg step refreshes it again.

## Keys

| Key | Type | Default | Meaning |
| --- | --- | --- | --- |
| [`name`](#pkg.name) | string or list of strings | required | installed in one apt call |
| [`recommends`](#pkg.recommends) | boolean | true | install recommended packages too |
| [`purge`](#pkg.purge) | boolean | false | remove the config files too |
| [`absent`](#pkg.absent) | boolean | false |  |

### `pkg.name` {#pkg.name}

string or list of strings, required

Installed in one apt call.

### `pkg.recommends` {#pkg.recommends}

boolean, default true

Install recommended packages too.

### `pkg.purge` {#pkg.purge}

boolean, default false

Remove the config files too. purge needs absent.

### `pkg.absent` {#pkg.absent}

boolean, default false

Remove the packages.

## Example

```yaml
- pkg:
    name: [nginx, certbot]
    recommends: false
```
