1
0
Fork 0

refactor some of the contracts docs (#227)

This commit is contained in:
Pierre Penninckx 2024-04-14 23:07:37 -07:00 committed by GitHub
parent 43f19a871a
commit 38105f3a87
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 5 deletions

View file

@ -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. 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 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 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 proxy you want or any database you want, without requiring work from maintainers of the services you
want to self host. want to self host.

View file

@ -62,15 +62,15 @@ Indeed, contracts allow:
importantly, the contracts themselves can be created and maintained by the community. 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 - Full **extensibility**. The final user themselves can choose an implementation, even new custom
implementations not available in nixpkgs, without changing existing code. 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.") ![](./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} ## 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.<name>.enable` - `services.<name>.enable`
- `services.<name>.package` - `services.<name>.package`