zerobyte/app/server/core
James Brink 5cb092f130 feat: add pure NixOS flake with bun2nix
Adds a complete Nix flake for NixOS integration:

Package:
- Pure reproducible builds using bun2nix (no network during build)
- Bundles restic, rclone, shoutrrr, and other runtime dependencies
- Supports x86_64-linux, aarch64-linux, x86_64-darwin, aarch64-darwin
- Version read from package.json to avoid drift

NixOS Module:
- Systemd service with security hardening
- FUSE support for remote mounts (NFS, SMB, WebDAV)
- Configurable options: port, dataDir, user/group, timezone, etc.
- protectHome option for backing up home directories
- CAP_DAC_READ_SEARCH capability when protectHome=false
- PORT env var properly passed to server

Development:
- devShell with bun, node, biome, typescript, and runtime tools
- bun2nix CLI for regenerating bun.nix after dependency changes

Also includes:
- Overlay exposing zerobyte and shoutrrr packages
- NixOS VM integration tests
- Experimental darwin module (requires TCC permissions for home dirs)
- Configurable MIGRATIONS_PATH and PORT for Nix store compatibility

Note: package.json includes additional peer dependencies (@standard-community/*,
@standard-schema/spec, openapi-types, quansync, react-is) required by bun2nix
for pure builds - bun requires all transitive peer deps to be satisfied.
2025-12-27 00:01:46 -07:00
..
__tests__ fix: schedules not running if never run manually (#194) 2025-12-20 11:28:18 +01:00
capabilities.ts refactor: allow to run without the SYS_ADMIN cap for simple setups (#138) 2025-12-14 20:30:33 +01:00
config.ts feat: add pure NixOS flake with bun2nix 2025-12-27 00:01:46 -07:00
constants.ts Controllers tests (#187) 2025-12-19 19:25:21 +01:00
events.ts feat: mirror repositories (#95) 2025-12-03 20:52:47 +01:00
repository-mutex.ts fix: schedules not running if never run manually (#194) 2025-12-20 11:28:18 +01:00
scheduler.ts refactor(breadcrumbs): use handler & match pattern 2025-11-13 22:28:53 +01:00