sy is a modular desktop and agent environment for Fedora. The base RPM installs the command launcher and shared configuration tools; optional RPMs add power controls, AI inference, file management, monitoring, and other features.
You can install only the features you need. Each feature is packaged separately, while the repository keeps the commands, configs, systemd units, and package metadata together.
The build and CI matrix currently targets Fedora 43, 44, and 45. Build packages locally with Podman or Docker:
make rpm FEDORA=44Packages are written to dist/rpm/f44/. To install the base package and every built feature package on a fresh matching Fedora host:
make reinstall-rpm RPM_ARGS=--allTo rebuild and reinstall the package set already installed on the host, use make reinstall-rpm. For a desktop session, install sy-desktop as well; it supplies the declarative Niri and Waybar configuration and depends on the desktop shell. Applying the packaged configuration uses:
sudo dnf install ./dist/rpm/f44/sy-desktop-*.rpm
sy --root /usr/share/sy applyThe command above assumes the base and other desired packages are already installed. See the package installation guide for selecting packages and verifying services. RPM filenames vary by release and build metadata; use the exact files generated in your output directory.
See the RPM package reference for package
roles, dependencies, and feature requirements. Package metadata is
defined in packaging/sy.spec.
After installing the power feature in a graphical session:
sy powerPreview a power action without performing it:
sy power reboot --dry-run --jsonThe desktop's right-side stack panel supports dragging clipboard screenshots, text, and saved files into Wayland applications. Drag a screenshot into a terminal to insert its file path; clicking still copies. See the desktop shell guide for details.
For the AI plane, install sy-system-aiplane, then check its CLI and service:
sy aiplane --help
systemctl --user status sy-aiplane.serviceNPU inference additionally needs compatible AMD Ryzen AI runtime packages and a prepared model. The AMD runtime and model files are not shipped in sy RPMs. See NPU setup.
The sy command is the user-facing launcher. Feature crates build dedicated executables that implement their own commands and services. The RPM split lets users install features independently; shared configuration and IPC contracts connect features where needed. See architecture for process and service boundaries.
- Start here
- Tutorials
- How-to guides
- CLI and configuration reference
- Architecture explanation
- Contributing
- Security policy
Build the workspace with Rust:
cargo build --workspace
make lint
make testBuild RPMs with make rpm FEDORA=<release>. See CONTRIBUTING.md for development setup and required checks.
sy is maintained by Dmitriy Gajewski. See governance for project decision ownership.
MIT. See LICENSE.