Commit graph

13 commits

Author SHA1 Message Date
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
Nicolas Meienberger
e39552ee68 chore: small code style improvements 2025-12-16 19:36:37 +01:00
Nicolas Meienberger
1ddd4d701b chore: update .gitignore 2025-11-15 09:39:49 +01:00
Nico
95a0d44b45
refactor: unify backend and frontend servers (#3)
* refactor: unify backend and frontend servers

* refactor: correct paths for openapi & drizzle

* refactor: move api-client to client

* fix: drizzle paths

* chore: fix linting issues

* fix: form reset issue
2025-11-13 20:11:46 +01:00
Nicolas Meienberger
67e7d36fe7 refactor(ui): use dot for backup status 2025-11-02 16:36:02 +01:00
Nicolas Meienberger
c64e50bdec chore: drizzle config root 2025-10-31 22:05:28 +01:00
Nicolas Meienberger
37effcb4e3 refactor: use rr actions/loader
refactor: use rr actions
2025-08-31 21:19:14 +02:00
Nicolas Meienberger
a16fc37b44 refactor: switch from go to bun 2025-08-31 17:32:00 +02:00
Nicolas Meienberger
0f9ace4dfa refactor: use different path inside container 2025-08-10 10:39:58 +02:00
Nicolas Meienberger
d0bf890386 feat: sqlite storage 2025-08-09 19:54:29 +02:00
Nicolas Meienberger
065c629ba8 feat: dev hot reload setup 2025-08-09 17:08:54 +02:00
Nicolas Meienberger
e7463d34ef feat: basic volume plugin commands 2025-08-09 12:36:16 +02:00
Nico
68194f2bf2
Initial commit 2025-08-09 10:58:56 +02:00