bread/packaging
Breadway e39b168398 feat: add bread-sync module for snapshot and restore functionality
- Introduced `bread-sync` module with core functionalities for syncing system state via Git.
- Implemented `MachineProfile` struct for managing machine profiles, including methods for reading and writing profiles.
- Added package management support with snapshot capabilities for `pacman`, `pip`, `npm`, and `cargo`.
- Created comprehensive tests for sync operations, package parsing, and machine profile management.
- Enhanced `udev` adapter to include vendor and product IDs for scanned devices.
- Updated state engine to handle module clearing commands.
- Introduced Lua integration for accessing machine information and file system operations.
- Improved packaging documentation for Arch Linux and systemd service setup.
2026-05-12 00:20:45 +08:00
..
arch feat: add bread-sync module for snapshot and restore functionality 2026-05-12 00:20:45 +08:00
systemd Enhance installation process, update service paths, and improve device classification 2026-05-11 18:39:39 +08:00
README.md feat: add bread-sync module for snapshot and restore functionality 2026-05-12 00:20:45 +08:00

Packaging

This directory contains distribution packaging for Bread.

packaging/
├── arch/
│   └── PKGBUILD          ← Arch Linux package build script
└── systemd/
    └── breadd.service    ← systemd user service unit

Arch Linux

cd packaging/arch
makepkg -si

The PKGBUILD builds both breadd and bread from source and installs them to /usr/bin. It also installs the systemd user service unit to /usr/lib/systemd/user/.

Before publishing to the AUR, update pkgver, source, and sha256sums to point at a tagged release tarball.

systemd user service

The service unit starts breadd as a user service after the graphical session is available.

# Install and enable manually (if not using the PKGBUILD)
mkdir -p ~/.config/systemd/user
cp systemd/breadd.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now breadd

# Check status
systemctl --user status breadd
journalctl --user -u breadd -f

The service sets RUST_LOG=info by default. To increase verbosity, override it in a drop-in:

# ~/.config/systemd/user/breadd.service.d/debug.conf
[Service]
Environment=RUST_LOG=debug