stav 0.2.0

A statically typed, eager and total configuration language
Documentation
---
source: crates/stav/tests/format.rs
expression: formatted
---
# /etc/system.stav, written by hand without care for layout
import "std/services" as services
system {
  include "./hardware.stav"
  hostname = "lab"
  timezone = "UTC"
  locale   = "en_GB.UTF-8"

  packages = [monitor, finder:static, elevate, metrics-exporter, mux, vcs, editor, fetcher, query]
  users {
    mutable = false
    user ops {
      uid      = 1001
      groups   = [wheel]
      ssh_keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2n ops@desk"]
    }
  }
  include services.gateway(port = 22)
  service exporter {
    exec  = ["/usr/bin/metrics_exporter", "--listen=:9100"] # metrics
    user  = nobody
    after = [network]
  }
  service boot-complete { after = [gateway] }
  tunables { "net.forwarding" = 1 }
  file "/etc/motd" {
    text = """
      Welcome to the lab.
        Be nice.
      """
  }
}