Conversation
We went past the locked Cargo version at some point, which now broke on `include` statements.
DTC is needed to compile DTS files for the build-time device tree parser.
Nix does not necessarily have `bash` as `/bin/bash`.
There was a problem hiding this comment.
Pull request overview
Updates the Nix flake configuration to restore a working dev environment by adjusting how the kani package is selected, adding a missing tool, and refreshing pinned inputs.
Changes:
- Switch
kaniselection to usepkgs.stdenv.hostPlatform.systemin the devShell inputs. - Add
dtcto the devShell tools. - Update
flake.lockinputs (includingkani,nix-tools,nixpkgs, andrust-overlay) and adjust the devcontainer pre-commit shebang.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
flake.nix |
Tweaks devShell dependencies: updates kani system selector and adds dtc. |
flake.lock |
Refreshes pinned revisions/hashes for Nix inputs (notably kani, nix-tools, nixpkgs, rust-overlay). |
.devcontainer/pre-commit.sh |
Changes shebang to /usr/bin/env bash for portability. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| #!/usr/bin/env bash | ||
| set -eoux pipefail |
There was a problem hiding this comment.
set -eoux pipefail is likely not enabling pipefail as intended because -o requires an argument; when combined with subsequent flags (u/x) it can be parsed incorrectly, leaving pipefail as a positional parameter instead of an option. Consider switching to set -euxo pipefail (or set -euo pipefail plus a separate set -x) to ensure pipefail is actually set.
|
Nice! Maybe it would be nice to add a CI step (if you want to) that ensures that this continues to work :) |
Maybe at a later point in time. The issue wasn't that the Nix shell itself was broken (and it rarely ever would, given the locked inputs), it was that it was no longer compatible with the current version of Osiris. Testing that properly/fully would require refactoring the CI to test all build steps under both Docker and Nix. EDIT: Also, updating the Nix configuration properly does require an installation of Nix (which probably not everyone has, and installation isn't fully trivial), so I'm not sure if we would want to make that a burden of each individual contributor. |
For now.