Nickel is the universal configuration language. Nickel is configuration templating, but done right. Modular, correct and concise. Its purpose is to automate the generation of static configuration files - think JSON, YAML, XML, or your favorite data representation language - that are then fed to another system. Nickel's salient traits are: * Composable code: functions are first-class citizens. * Composable data: records can be composed through the merge operator. * Typed, but only when it helps: a gradual type system. * Design by contract: contracts act like schemas.