47 lines
1.4 KiB
Markdown
47 lines
1.4 KiB
Markdown
# NaxOS Developer & Contribution Guide
|
|
|
|
## Repository Structure under `naxos` Organization
|
|
|
|
The NaxOS ecosystem is structured across dedicated repositories on Gitea (`git.lholz.de/naxos`):
|
|
|
|
1. **`naxos-os`**: The core NixOS distribution flake, modules, profiles, and bootable ISO installer.
|
|
2. **`naxos-api`**: The TypeScript management daemon, ZFS driver, GitOps engine, and unit tests.
|
|
3. **`naxos-ui`**: The React 18, Tailwind CSS, and CNCF Perses web dashboard.
|
|
4. **`naxos-docs`**: Architectural blueprints, end-user tutorials, and migration guides.
|
|
|
|
---
|
|
|
|
## Local Development Workflow
|
|
|
|
### Developing `naxos-api`
|
|
```bash
|
|
cd naxos-api
|
|
npm install
|
|
npm test # Run Vitest test suite
|
|
npm run dev # Watch mode on port 8088
|
|
```
|
|
|
|
### Developing `naxos-ui`
|
|
```bash
|
|
cd naxos-ui
|
|
npm install
|
|
npm run dev # Vite development server on port 3000
|
|
npm run build # Production compile
|
|
```
|
|
|
|
### Testing NixOS Modules in `naxos-os`
|
|
```bash
|
|
cd naxos-os
|
|
nix flake check
|
|
nix eval .#nixosConfigurations.naxos.config.system.build.toplevel.drvPath
|
|
```
|
|
|
|
---
|
|
|
|
## Gitea Actions CI/CD Workflows
|
|
Each repository includes automated Gitea Actions workflows in `.gitea/workflows/`:
|
|
- **`naxos-os`**: Automated ISO build, flake check, and release artifact generation.
|
|
- **`naxos-api`**: Automated lint, typecheck, and unit testing.
|
|
- **`naxos-ui`**: Automated frontend build and artifact packaging.
|
|
- **`naxos-docs`**: Documentation validation.
|