| Crates.io | preen-os |
| lib.rs | preen-os |
| version | 0.1.0 |
| created_at | 2026-01-25 07:28:02.673014+00 |
| updated_at | 2026-01-25 07:28:02.673014+00 |
| description | Operating System abstraction layer for Preen, implementing platform-specific logic. |
| homepage | |
| repository | https://github.com/Preen-rs/preen.git |
| max_upload_size | |
| id | 2068332 |
| size | 3,106 |
This crate serves as the Operating System Abstraction Layer (OSAL) for the Preen project.
It is responsible for implementing the Ports defined in preen-core with platform-specific code (e.g., calling macOS-specific APIs or reading Linux configuration files). This separation ensures that the core logic remains clean and portable.
In the Hexagonal Architecture, preen-os acts as the Adapter that connects the Core to the external world (the Operating System).
preen-core via the FileSystemPort trait.#[cfg(target_os = "macos")] and #[cfg(target_os = "linux")] to include the correct platform-specific code.sysinfo or platform-specific FFI bindings for low-level access.This is a library crate intended to be used by preen-core (or directly by the binaries if needed) within the main Preen workspace.
[dependencies]
preen-os = { path = "../preen-os" }