---
key: pl/nickel
kind: plang
name: "Nickel"
url: https://plangs.page/nickel
---

# Nickel

> Lightweight configuration language designed for generating modular and reusable configuration files.

Lightweight configuration language aimed at automating the generation of configuration files. It combines JSON semantics with first-class functions, allowing for modular and reusable configurations. With features like optional static typing and design by contract, Nickel ensures that complex configurations are easy to manage and less prone to errors.

## Facts

- Appeared: 2021
- Homepage: https://nickel-lang.org
- GitHub: https://github.com/tweag/nickel

## Relationships

### Paradigms

- [Data Exchange](https://plangs.page/paradigm/data-exchange)
- [Declarative](https://plangs.page/paradigm/declarative)
- [Validation](https://plangs.page/paradigm/validation)

### Platforms

- [Linux](https://plangs.page/platform/linux)
- [Windows](https://plangs.page/platform/windows)

### Type Systems

- [Dynamic](https://plangs.page/type-system/dynamic)
- [Gradual](https://plangs.page/type-system/gradual)
- [Optional](https://plangs.page/type-system/optional)
- [Static](https://plangs.page/type-system/static)
- [Strong](https://plangs.page/type-system/strong)

### Compiles To

- [JSON](https://plangs.page/json)
- [Nix](https://plangs.page/nix)
- [Rust](https://plangs.page/rust)
- [XML](https://plangs.page/xml)
- [YAML](https://plangs.page/yaml)

### Influenced By

- [Rust](https://plangs.page/rust)

### Written With

- [Rust](https://plangs.page/rust)

### Licenses

- [MPL](https://plangs.page/license/mpl)

### Tags

- [Automation](https://plangs.page/tag/automation)
- [Scripting](https://plangs.page/tag/scripting)
