Files
komorebi/.envrc
T
LGUG2Z 9524b777b3 build(nix): build and check on Linux and macOS
The flake builds the workspace with crane and checks it the way `just check`
does, so that CI and a laptop run the same things: `komorebi-workspace-fmt`
(nightly rustfmt, since rustfmt.toml uses unstable options), `-clippy` with
warnings denied, `-doc` with rustdoc warnings denied, `-toml-fmt`, `-deny` and
`-nextest`. Treefmt and a pre-commit hook format Rust, Nix, TOML and the
justfile. `nix develop` gives a toolchain with the nightly rustfmt, cargo-deny,
nextest and udeps.

Linux is where komorebi runs, so only Linux gets packages and the overlay. An
Apple silicon Mac gets the dev shell, the formatter and the checks; the tests
there run against the fake desktop that arrives with the backend trait.
x86_64-darwin is left out because nixpkgs 26.11 dropped it, and the flake
follows the tip of nixpkgs-unstable.

The commit hash is a constant (`nix-check`) for the dependencies and for every
check, and the real one only goes into the final build. The version crate reads
it with `env!`, so putting it in the shared arguments would rebuild the
dependencies and rerun every check for each commit.

The README and CONTRIBUTING.md describe `nix develop` and `nix flake check`.
2026-10-27 09:17:51 -07:00

1 line
9 B
Bash