Your related recipes will live in a single folder, with multiple sub-folders.
└── recipes
├── common
│ ├── config.json
| └── script
├── gaming
│ ├── config.json
| └── script
└── development
├── config.json
└── script
Each sub-folder represents a recipe name. In the example above, common
, gaming
and development
are defined.
Each recipe must contain two files.
recipes/gaming/config.json
- Meta data about the recipe, including it’s parent.
{
"inherits": "common"
}
recipes/gaming/script
- The actual script that will be executed when building the recipe.
#!/usr/bin/env bash
pacman -S steam --noconfirm
To build this recipe:
cd recipes
sudo darch recipes build gaming
Any inherited images must be built (or listed in sudo darch images list
) beforehand. You can build every parent, including your desired recipe, using sudo darch recipes build $(sudo darch recipes build-dep gaming)
.
The root of every set of recipes must depend on an external image. The external image can be pulled (sudo darch images pull
) or built previously.
To mark a recipe as dependending an external Arch Linux image, preappend external:
to your image name.
{
"inherits": "external:godarch/arch:latest"
}
If no tag is specified for the inherited image, it will default to the first tag that is being used to build (--tags
).