Extending Appliance Images.
NixOS allows for building Appliance Images. Since Appliance Images are immutable they typically contain everything necessary to make use of such an image.
Appliances are usually built generically. To be useful an appliance is augmented with specifics (think of configuration, programs) for a certain use case.
This project offers solutions to extend immutable appliances in a lightweight manner leveraging technologies provided by systemd and the kernel.
Allows for building extension images (sysext
, confext
).
Create a confext image that provides the file /etc/test
containing Hello
.
naext = {
seed = "12345678-1234-1234-1234-123456789123";
extensions = {
"hello" = {
extensionType = "confext";
imageFormat = "raw";
files = {
"/etc/test".source = pkgs.writeText "example" ''Hello'';
};
};
};
};
Check out:
- Building an Image with
nix-build ./examples/basic.nix
- Basic Integration Test with
nix-build ./examples/basic.nix
- Integration Test with verity protected extension image with
nix-build ./examples/basic.nix