Commit Graph

7 Commits

Author SHA1 Message Date
117e6af528 Implement self-contained grapho architecture with four data types
Major rewrite of grapho CLI to support:
- Type 1 (Config): grapho init <repo-url> clones NixOS config
- Type 2 (Sync): Isolated Syncthing on port 8385 (separate from system)
- Type 3 (Backup): Restic integration with systemd timer
- Type 4 (Server): Mount point for central server data

New features:
- Welcome flow on first run (detects ~/.config/grapho/grapho.toml)
- grapho setup wizard creates directory structure
- grapho sync/backup/server subcommands
- grapho status shows all four data types
- grapho doctor checks system health

Added modules/grapho.nix NixOS module:
- Configures isolated Syncthing (ports 8385, 22001, 21028)
- Sets up grapho-backup systemd service and timer
- Creates directory structure via tmpfiles
- Optional NFS server mount

Updated flake.nix:
- Export grapho NixOS module
- Add grapho CLI package (nix build .#grapho)

Documented additional Lux language limitations:
- String == comparison broken in C backend
- let _ = pattern not supported
- List literals with recursion cause segfaults

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 06:12:58 -05:00
096070bffe Update SSH URLs to use port 2222 format
Use ssh://git@server:2222/user/repo.git format for non-standard
SSH ports in README and flake.nix examples.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 09:38:16 -05:00
f8b344d26d Rename repo references from usync to grapho
Update README and flake.nix to use grapho as the repo name
in all git URLs and examples.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 08:39:25 -05:00
cb55be1324 Rename to usync, use generic git URLs
- Rename app binary from unsbs-setup to usync-setup
- Update README to use git+ssh:// URLs for custom git servers
- Remove GitHub-specific references

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 08:24:34 -05:00
521a2431c2 Add one-command setup via nix run
- Add flake app so setup can be run with: nix run .
- Update README with comprehensive setup guide for:
  - First computer (initial setup)
  - Additional computers (joining)
  - Mobile device pairing
  - NixOS module usage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 08:21:24 -05:00
5dadd584f0 Add one-command setup with mobile QR pairing
- Add ./setup script for single-command device initialization
  - Interactive menu: new setup, join existing, or pair mobile
  - Bootstrap from git repo + age key: ./setup <url> <key>
  - Mobile pairing with live camera QR scanning

- Enhance usync with device management commands
  - usync init: bootstrap from config repo
  - usync invite: show QR for mobile
  - usync add-device: add device by ID
  - usync join: join existing setup

- Mobile/GrapheneOS optimizations
  - Live camera preview with targeting box (ffmpeg + SDL)
  - Auto-detect QR codes without manual capture
  - Syncthing pending device detection

- Simplify nix develop shell message
- Add ffmpeg, zbar, qrencode, age, sops to devShell

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 05:08:55 -05:00
b40ac99524 Initial commit: Ultimate Notetaking, Sync & Backup System
A NixOS-based system for managing personal data across three tiers:
- Tier 1: Configuration (shareable via git)
- Tier 2: Syncable data (nb + Syncthing)
- Tier 3: Large data (self-hosted services + backup)

Includes:
- NixOS modules for nb, Syncthing, backup (restic)
- Server modules for Forgejo, Immich, Jellyfin
- Helper scripts (usync, ustatus)
- Comprehensive documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 01:44:00 -05:00