Skip to content

Build the Nix flake in CI, document NixOS, fix qmllint on Qt 6.12 - #36

Merged
DXVSI merged 4 commits into
developmentfrom
ci/nix-flake-and-qt612-qmllint
Oct 8, 2026
Merged

DXVSI merged 4 commits into
developmentfrom
ci/nix-flake-and-qt612-qmllint

Conversation

@DXVSI

@DXVSI DXVSI commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Follow-up to #33.

  • Qt 6.12 qmllint. Arch moved to Qt 6.12, whose qmllint reports an id that shadows a property of the object it is assigned to (id-shadows-member). quick-check runs qmllint with -W 0, so the Arch package build failed on five QML test doubles like controller: controller, on every branch. The doubles now use the Mock suffix the other QML tests already use; component properties are unchanged.
  • Nix flake in CI. A nix job in package-linux.yml builds the flake with a pinned cachix/install-nix-action and checks the output: both binaries at the release version, the runtime, the udev rules, the user unit with the store ExecStart and KillMode=mixed, and an ffmpeg with libx264 on the runtime's PATH. Tagged releases skip it, so a change in nixpkgs cannot block a release build.
  • README. A NixOS section with the flake input and the configuration from add nix support for tryx panorama manager #33.

Checks: the Qt Quick suite passes locally on Qt 6.11; the Arch job in this PR verifies the Qt 6.12 fix and the new job verifies the flake.

DXVSI added 4 commits October 8, 2026 13:03
qmllint in Qt 6.12 reports an id that has the same name as a property of
the object it is assigned to (id-shadows-member). quick-check runs qmllint
with -W 0, so the Arch package build, which now gets Qt 6.12, failed on
five test doubles such as `controller: controller`. Name them with the Mock
suffix the other QML tests already use.
Build the flake added in #33 with a pinned install-nix-action and check
that its output has both binaries at the release version, the runtime, the
udev rules, the user unit pointing at the store path with KillMode=mixed,
and an ffmpeg with libx264 on the runtime's PATH. Tagged releases skip the
job, so a change in nixpkgs cannot block a release build.
Add the flake input and the NixOS configuration that enables the package,
its udev rules and the user service, based on the configuration the flake
contributor tested with a display.
The Panorama layout test has the same shadowing ids. Qt 6.12 qmllint did
not print its warnings when it linted all files together and only exited
with 255, so the first fix missed it. All QML files now lint clean with Qt
6.12 qmllint -W 0, and the QML tests pass under Qt 6.12.
@DXVSI
DXVSI merged commit cb66462 into development Oct 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant