- Installer: one `cargo install maestro` instead of two; ExecStart becomes `~/.cargo/bin/maestro daemon`; user unit renamed `maestrod.service` → `maestro.service`; configure step is `maestro daemon configure`. - E2E harness: both `Daemon` and `Registry` subprocess wrappers shell out to the unified `maestro` binary with the appropriate subcommand. - State dir: `~/.local/state/maestrod` → `~/.local/state/maestro`. - Docs: CLAUDE.md repo layout, design spec repo layout + "Daemon (`maestro daemon`)" heading, INSTALL.md (full rewrite of CLI references + new thin-builds section).
22 lines
762 B
Rust
22 lines
762 B
Rust
//! `maestro-installer` — install wizard for the unified `maestro` binary
|
|
//! (NAP-245).
|
|
//!
|
|
//! See `docs/INSTALL.md` for the user-facing flow. This crate exposes the
|
|
//! testable pieces:
|
|
//!
|
|
//! - [`systemd`] — detect a systemd host and render a user unit.
|
|
//! - [`install`] — build the `cargo install` and `systemctl --user` commands.
|
|
//!
|
|
//! The binary in `src/main.rs` glues these together with stdin prompts.
|
|
|
|
#![deny(missing_debug_implementations)]
|
|
|
|
pub mod install;
|
|
pub mod systemd;
|
|
|
|
pub use install::{cargo_install_args, systemctl_user_args, CargoSource, SystemctlAction};
|
|
pub use systemd::{
|
|
is_systemd_host, render_user_unit, render_web_unit, user_unit_path, user_unit_path_for,
|
|
user_web_unit_path, UNIT_FILE_NAME, WEB_UNIT_FILE_NAME,
|
|
};
|