feat: Allow use of akmods module (#71)

The akmods module require having the /rpms directory put into /tmp/rpms.
By default we will mount the akmods image with the `main-{{ os_version
}}` tag.

If a user supplies `base` for the akmods module in their recipe, it will
pull that image tag instead and mount the resulting /rpms.

```yaml
modules:
- type: akmods
  base: surface
  install:
  - openrazer
```

This would pull the image `ghcr.io/ublue-os/akmods:surface-39`.

A user can also supply `nvidia-version` with the numerical version of
the driver you would like to use. Doing so will mount the appropriate
`akmods-nvidia` image with the version of the driver you want in the
tag.

```yaml
modules:
- type: akmods
  nvidia-version: 545
  install:
  - nvidia
```

This would pull the image `ghcr.io/ublue-os/akmods-nvidia:main-39-545`
and `ghcr.io/ublue-os/akmods:main-39`.

This uses bind mount like all the other modules so these files will not
persist into the final image.
This commit is contained in:
Gerald Pinder 2024-02-22 13:41:45 -05:00 committed by GitHub
parent ee2a834b28
commit 8931a22e29
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 88 additions and 14 deletions

View file

@ -4,12 +4,21 @@ name: template
description: This is my personal OS image.
# the base image to build on top of (FROM) and the version tag to use
base-image: ghcr.io/ublue-os/silverblue-main
base-image: ghcr.io/ublue-os/silverblue-surface
image-version: 39 # latest is also supported if you want new updates ASAP
# module configuration, executed in order
# you can include multiple instances of the same module
modules:
- type: akmods
base: surface
nvidia-version: 545
install:
- nvidia
- openrazer
- type: akmods
install:
- openrgb
- type: files
files:
- usr: /usr # copies config/files/usr into your image's /usr.