From 38105f3a87bde71bdadec3486a89fee57c6155da Mon Sep 17 00:00:00 2001 From: Pierre Penninckx Date: Sun, 14 Apr 2024 23:07:37 -0700 Subject: [PATCH] refactor some of the contracts docs (#227) --- README.md | 2 +- docs/contracts.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0ba814c..bb5e287 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ blocks](#available-blocks) fitting together to self-host any service you'd want. services](#provided-services) are provided out of the box. SHB's goal is to make these building blocks plug-and-play. To achieve this, SHB pioneers -[contracts](https://shb.skarabox.com/usage.html) which allows you, the final user, to be more in +[contracts](https://shb.skarabox.com/contracts.html) which allows you, the final user, to be more in control of which pieces go where. The promise here is to let you choose, for example, any reverse proxy you want or any database you want, without requiring work from maintainers of the services you want to self host. diff --git a/docs/contracts.md b/docs/contracts.md index 25ed211..8af45dc 100644 --- a/docs/contracts.md +++ b/docs/contracts.md @@ -62,15 +62,15 @@ Indeed, contracts allow: importantly, the contracts themselves can be created and maintained by the community. - Full **extensibility**. The final user themselves can choose an implementation, even new custom implementations not available in nixpkgs, without changing existing code. +- Last but not least, **Testability**. Thanks to NixOS VM test, we can even go one step further by + ensuring each implementation of a contract, even custom ones, provides required options and + behaves as the contract requires. ![](./assets/contracts_separationofconcerns.png "Separation of concerns thanks to contracts.") -Thanks to NixOS VM test, we can even go one step further by ensuring each implementation of a -contract provides required options and behaves as the contract requires. - ## Are there contracts in nixpkgs already? {#contracts-nixpkgs} -Actually yes, there are some ubiquitous options in nixpkgs. Those I found are: +Actually not quite, but close. There are some ubiquitous options in nixpkgs. Those I found are: - `services..enable` - `services..package`