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.
This commit is contained in:
parent
96e42bc370
commit
e39b168398
25 changed files with 3930 additions and 92 deletions
|
|
@ -7,12 +7,24 @@ edition = "2021"
|
|||
name = "bread"
|
||||
path = "src/main.rs"
|
||||
|
||||
[lib]
|
||||
name = "bread_cli"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
bread-shared = { path = "../bread-shared" }
|
||||
bread-sync = { path = "../bread-sync" }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
anyhow.workspace = true
|
||||
chrono.workspace = true
|
||||
dirs.workspace = true
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
notify = "6.1"
|
||||
libc = "0.2"
|
||||
toml = "0.8"
|
||||
reqwest = { version = "0.11", features = ["json"] }
|
||||
flate2 = "1.0"
|
||||
tar = "0.4"
|
||||
tempfile.workspace = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue