quvyta
Language: English

Linux, macOS and Windows

Install

One line installs any Quvyta app. It builds the programs from crates.io with cargo and asks before every step. It uses sudo only to install a missing C linker, and only when you answer yes in the terminal.

curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh

Without a name it lists the apps and lets you choose.

Linux and macOS

Give one or more names to install just those, or all for everything:

curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- code
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- code framework

Questions are read from the terminal even though the script arrives through a pipe. With no terminal it changes nothing and only says what it would do. --yes answers every question with yes except the one about the C linker, which only a yes typed in the terminal answers, and --help explains the options.

What the script does, asking before each step

  1. Rust

    If cargo is missing, it offers to install Rust with rustup, from rustup's own address.

  2. C linker

    Rust needs one to finish a build. If none is found, it shows your system's command that installs one (pacman, apt or dnf) and offers to run it. The command uses sudo, so only a yes typed in the terminal runs it, and sudo asks for your password itself.

  3. The programs

    It builds the chosen apps from crates.io with cargo install.

  4. Your PATH

    If ~/.cargo/bin is not on it, it shows the line it would add to your shell's start-up file (fish, bash or zsh) and adds it only if you agree.

  5. The result

    It lists the commands it installed and says whether a new terminal is needed.

On macOS the PATH line goes to .zprofile or .bash_profile, and the Command Line Tools are checked because Rust links with them; if they are missing it offers to open Apple's own installer. qpac and qtools, which run on Arch Linux only, are skipped.

Names

NameInstallsCommandRuns on
codeqcode, coding agents in containersqcodeLinux; macOS and Windows not yet tried
frameworkthe qframe showcaseqframeLinux, macOS, Windows
focusqfocus, focus trackingqfocusLinux, macOS, Windows
packagesqpac, a package managerqpacArch Linux
toolsqtools, system settingsqtoolsArch Linux
quvytaquvyta, the ecosystem's launcherquvytaLinux, macOS, Windows
allevery app this system can run

Each program is also installed under its long name: quvyta-code, quvyta-focus and so on.

Windows

In PowerShell. The second form passes names and options, which the first cannot.

Rust comes from rustup, the apps from crates.io, and the only setting it writes is your own user PATH, after you agree to the folder it shows. If the Visual Studio C++ Build Tools that Rust links with are missing, it shows the winget command that installs them and offers to run it; only a yes typed in the console runs it, and Windows asks for permission itself. -Help explains the options.

irm https://raw.githubusercontent.com/quvyta/quvyta/main/install.ps1 | iex
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/quvyta/quvyta/main/install.ps1))) code -Yes

Read it first

The script is short and plain. Everything in it lives in functions and runs from the last line, so a download cut short runs nothing at all.

curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh -o install.sh
less install.sh
sh install.sh

With cargo

Every app is a crate on crates.io. Rust 1.95 or later is required.

If the shell then cannot find the command, add ~/.cargo/bin to your PATH. In fish: fish_add_path ~/.cargo/bin.

cargo install quvyta-code
cargo install quvyta-framework-showcase
cargo install quvyta-focus
cargo install quvyta-packages
cargo install quvyta-tools
cargo install quvyta

The framework, in your own project

cargo add quvyta-framework