manual: smaller fixes for nixos-rebuild build-image docs

* correct option type for `image.modules`
* fix grammar
* show actual output of the command to
This commit is contained in:
phaer 2025-04-14 11:34:33 +02:00
parent ca65b55350
commit abed087403
2 changed files with 13 additions and 6 deletions

View file

@ -2,23 +2,27 @@
Nixpkgs contains a variety of modules to build custom images for different virtualization platforms and cloud providers, such as e.g. `amazon-image.nix` and `proxmox-lxc.nix`. Nixpkgs contains a variety of modules to build custom images for different virtualization platforms and cloud providers, such as e.g. `amazon-image.nix` and `proxmox-lxc.nix`.
While those can be imported individually, `system.build.images` provides an attribute set mapping variant names to image derivations. Available variants are defined - end extendable - in `image.modules`, an attribute set mapping variant names to a list of NixOS modules. While those can be imported directly, `system.build.images` provides an attribute set mapping variant names to image derivations. Available variants are defined - end extendable - in `image.modules`, an attribute set mapping variant names to NixOS modules.
All of those images can be built via both, their `system.build.image` attribute, and the CLI `nixos-rebuild build-image`. To build i.e. an Amazon image from your existing NixOS configuration: All of those images can be built via both, their `system.build.image` attribute and the `nixos-rebuild build-image` command.
For example, to build an Amazon image from your existing NixOS configuration, run:
```ShellSession ```ShellSession
$ nixos-rebuild build-image --image-variant amazon $ nixos-rebuild build-image --image-variant amazon
$ ls result [...]
nixos-image-amazon-25.05pre-git-x86_64-linux.vhd nix-support Done. The disk image can be found in /nix/store/[hash]-nixos-image-amazon-25.05pre-git-x86_64-linux/nixos-image-amazon-25.05pre-git-x86_64-linux.vpc
``` ```
To get a list of all variants available, run `nixos-rebuild build-image` without arguments. To get a list of all variants available, run `nixos-rebuild build-image` without arguments.
::: {.example #ex-nixos-rebuild-build-image-customize}
## Customize specific image variants {#sec-image-nixos-rebuild-build-image-customize} ## Customize specific image variants {#sec-image-nixos-rebuild-build-image-customize}
The `image.modules` option can be used to set specific options per image variant, in a similar fashion as [specialisations](options.html#opt-specialisation) for generic nixos configurations. The `image.modules` option can be used to set specific options per image variant, in a similar fashion as [specialisations](options.html#opt-specialisation) for generic NixOS configurations.
E.g. images for the cloud provider Linode use `grub2` as a bootloader by default. If you are using `systemd-boot` on other platforms and want to disable it for Linode onlz, you could use the following options: E.g. images for the cloud provider Linode use `grub2` as a bootloader by default. If you are using `systemd-boot` on other platforms and want to disable it for Linode only, you could use the following options:
``` nix ``` nix
image.modules.linode = { image.modules.linode = {

View file

@ -146,6 +146,9 @@
"ex-config": [ "ex-config": [
"index.html#ex-config" "index.html#ex-config"
], ],
"ex-nixos-rebuild-build-image-customize": [
"index.html#ex-nixos-rebuild-build-image-customize"
],
"sec-installation-additional-notes": [ "sec-installation-additional-notes": [
"index.html#sec-installation-additional-notes" "index.html#sec-installation-additional-notes"
], ],