ccd8e800df
* hacking at dns * hack * hax * start dics! * hacking * feat: docs! --------- Co-authored-by: Truxnell <9149206+truxnell@users.noreply.github.com>
12 lines
716 B
Markdown
12 lines
716 B
Markdown
# Design principles
|
|
|
|
Taking some lead from the [Zen of Python](https://peps.python.org/pep-0020/):
|
|
|
|
- Minimise dependencies, where required, explicitly define dependencies
|
|
- Use plain Nix & bash to solve problems over additional tooling
|
|
- Stable channel for stable machines. Unstable only where features are important.
|
|
- Modules for a specific service - Profiles for broad configuration of state.
|
|
- Write readable code - descriptive variable names and modules
|
|
- Keep functions/dependencies within the relevant module where possible
|
|
- Errors should never pass silently - use assert etc for misconfigurations
|
|
- Flat is better than nested - use built-in functions like map, filter, and fold to operate on lists or sets
|