mirror of
https://github.com/outbackdingo/hyprcosmic-session.git
synced 2026-08-25 14:53:23 +00:00
Upstream ships no workflows here, so nothing is displaced; the file is named hyprcosmic.yml anyway, to match the compositor fork where ci.yml is already upstream's. A lighter matrix than the compositor's, because this crate has no system libraries to find -- what actually varies per distribution is the toolchain and `just`. Rust comes from rustup for the same reason as in cosmic-comp: bookworm ships rustc 1.63 against a crate that needs 1.93 and edition 2024. `just` comes from the distribution on Fedora and Arch and from crates.io on Debian, which has no such package until trixie. The assertions are the reason this exists. Until recently `just install` wrote /usr/bin/cosmic-session, cosmic.desktop, the systemd target and the mimeapps list -- all files the distribution's own cosmic-session package owns. Anyone who cloned this repository and ran the documented build command replaced their working COSMIC session with this one, and had nothing left to log into when the fork failed to start. The negative tests are the important half: it is the files that must NOT appear that made the old recipe dangerous, and a `test ! -e` is the only thing that will notice if one of them comes back. The session scripts are checked off the matrix, on a bare runner. Shell does not vary by distribution, and doing it there avoids naming the shellcheck package in three package managers to check the same file three times. Both scripts are parsed, because a syntax error in either is a black screen at login with nowhere to print the reason. Only start-hyprcosmic is linted: start-cosmic is upstream's, this fork no longer installs it, and its existing findings are not ours to rewrite.