|
3 | 3 | A brief list of requirements so we understand what the solution will look like: |
4 | 4 |
|
5 | 5 | - [Configuration](model.md#configuration) MUST be versioned publicly. |
6 | | - - Versioned for all the goodness that comes with it (tracking why a particular changes landed, |
7 | | - when, in which context.) |
8 | | - - I want to be part of an open ecosystem. I want to contribute to the set of configurations that |
9 | | - Internet strangers can look up on GitHub and learn from. (`"path:*.nix something"` is a regular |
10 | | - GitHub search query of mine when I develop on Nix / NixOS). |
| 6 | + |
| 7 | + * Versioned for all the goodness that comes with it (tracking why a particular changes landed, |
| 8 | + when, in which context.) |
| 9 | + * I want to be part of an open ecosystem. I want to contribute to the set of configurations that |
| 10 | + Internet strangers can look up on GitHub and learn from. (`"path:*.nix something"` is a regular |
| 11 | + GitHub search query of mine when I develop on Nix / NixOS). |
11 | 12 | - System deployments or new machine installs MUST be |
12 | 13 | [reproducible](https://en.wikipedia.org/wiki/Reproducible_builds) and deterministic. |
13 | | - - Importantly, if I deploy my system at a given Git revision, I get exactly the same output |
14 | | - everytime. This allows for trivial pain-free rollbacks. |
| 14 | + |
| 15 | + * Importantly, if I deploy my system at a given Git revision, I get exactly the same output |
| 16 | + everytime. This allows for trivial pain-free rollbacks. |
15 | 17 | - Updates (security updates, OS updates, individual software version updates) MUST not break my |
16 | 18 | systems. |
17 | | - - Critical security updates MUST apply at least weekly. |
18 | | - - If a new version of a dependency becomes incompatible with my configuration, the `deploy` step |
19 | | - SHOULD fail before changing my systems. When this is not feasible, rollbacks to an earlier Git |
20 | | - revision MUST be a viable recovery path. |
| 19 | + |
| 20 | + * Critical security updates MUST apply at least weekly. |
| 21 | + * If a new version of a dependency becomes incompatible with my configuration, the `deploy` step |
| 22 | + SHOULD fail before changing my systems. When this is not feasible, rollbacks to an earlier Git |
| 23 | + revision MUST be a viable recovery path. |
21 | 24 |
|
22 | 25 | Non-functional: |
23 | 26 |
|
|
0 commit comments