diff --git a/docs/ConfiguringRepos.md b/docs/ConfiguringRepos.md new file mode 100644 index 0000000..336de65 --- /dev/null +++ b/docs/ConfiguringRepos.md @@ -0,0 +1,27 @@ +For testing purposes the pacman repository can be changed to ones managed by bxt by the following steps: + +1. Backup current pacman.conf file: + ```bash + sudo cp /etc/pacman.conf /etc/pacman.conf.bak + ``` + +2. Edit pacman configuration to point to the bxt-managed repo: + ```ini + [core] + SigLevel = PackageRequired + Server = https:///box/unstable/core/x86_64/ + + [extra] + SigLevel = PackageRequired + Server = https:///box/unstable/extra/x86_64/ + + [community] + SigLevel = PackageRequired + Server = https:///box/unstable/community/x86_64/ + + [multilib] + SigLevel = PackageRequired + Server = https:///box/unstable/multilib/x86_64/ + ``` + +This will prevent pacman from using the mirrorlist in favor of bxt. diff --git a/docs/development/ARCHITECTURE.md b/docs/development/ARCHITECTURE.md new file mode 100644 index 0000000..bdd6b8e --- /dev/null +++ b/docs/development/ARCHITECTURE.md @@ -0,0 +1,28 @@ +
+ drawing +
+ +# + +
+Architecture outline +
+ +## Introduction + +This is an overview of the b[x] architecture for daemon components. This should make it easier for contributors to understand the specifics of this project's layout and design. + +## Core Components + +C++ daemon is developed with Domain-Driven Design principles in mind and split into 3 layers: + +- **Domain layer**: + - `core/domain` - business logic (entities, value objects, repositories) +- **Application layer**: + - `core/application` - application layer that is used to orchestrate the business logic (DTOs, Services) +- **Infrastructure layer**: + - `persistence` - persistence logic implementation (databases, configuration) + - `infrastructure` - infrastructure logic implementation (application layer implementations, networking, events, notifications) + - `presentation` - presentation logic (http-controllers, filters, messages) + +The code also contains `utilities` directory. It's for various cross-cutting concerns or third-party libraries bindings.