Generate an `.envrc` file to add support for Nix Flakes for projects
that use them.
I currently have `.direnv` directories ignored globally though this
could be added to a `.gitignore` template when one is added.
Refs: OD-43
Warning: Undefined array key "extensions" in /home/opdavies/Code/github.com/OliverDaviesLtd/build-configs/src/Action/CreateFinalConfigurationData.php on line 44
Warning: Trying to access array offset on value of type null in /home/opdavies/Code/github.com/OliverDaviesLtd/build-configs/src/Action/CreateFinalConfigurationData.php on line 44
Use mnapoli/silly-php-di which allows for using a dependency injection
container and for separating commands into separate classes and files.o
Refs: OD-20
Add a data transfer object that stores the source file name, the file
name to generate and an optional path to create for each file to
generate.
As I'm using a `readonly` class for the DTO, this required updating PHP
to 8.2.
nix develop --command php bin/build-configs run
Allow for changing the default database name, username and password from
`drupal` to `app` by enabling the
`experimental.useNewDatabaseCredentials` feature flag in a project's
`build.yaml` file.
Refs: OD-27
Allow for declaring extra databases that should be created when the
project is first started. This is done by adding an `extra_databases`
key to `database`, containing a list of database names.
```yaml
database:
type: mariadb
version: 10
extra_databases:
- tinhat
- freshcover
```
Allow for overriding the project root from `/app` to something else,
such as `/var/www/html`.
The default is set within a new `build.defaults.yaml` file which the
project specific file is merged into.
Fixes#27