Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

NixOps4 Components

Overview

This shows the main types of components that exist around NixOps4.

are
implement
declare
operate on
declare
calls
calls
NixOps4
Configurations
Modules
Deployment Expressions
Resource Providers
Resources

Nix Expressions

contain
contain
contain
reference by flake inputs
reference by imports
reference by imports
reference by flake self or withSystem
Flakes
Configurations
Modules
Resource Providers

Any node can reference packages.

Crate Structure

NixOps4 is implemented in Rust, and it links to the Nix package manager to integrate with the Nix language and store.

It is composed of the following Rust crates:

nixops4-eval
nixops4-core
nixops4-resource-runner
nixops4-resource
nixops4-resources-local
nixops4

nixops4-core

Internal interfaces for nixops4, notably the interface between the CLI and the nixops4-eval evaluator

nixops4-eval

Internal child process of nixops4 that performs Nix evaluation

nixops4-resource-runner

A utility to run resource providers without expressions, and without nixops4, primarily for testing

nixops4-resource

A library for the NixOps resource provider interface

nixops4-resources-local

A basic NixOps resource provider for local operations. Note that because of their flexibility and local behavior, these resources require extra care to make sure the deployment is reproducible.

nixops4

The nixops4 command-line tool