refactor some of the contracts docs (#227)
This commit is contained in:
parent
43f19a871a
commit
38105f3a87
2 changed files with 5 additions and 5 deletions
|
@ -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.
|
||||||
|
|
|
@ -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`
|
||||||
|
|
Loading…
Reference in a new issue