-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Only print the first line of errors in values #10207
base: master
Are you sure you want to change the base?
Conversation
I like this a lot (these multi-line errors embedded in the printed expressions are just unreadable), but we should probably hint somehow that there's more stuff in the error message and give people a way to see it in full |
Yes, they can print the expression directly (see #10209). I'm not sure it's necessary to indicate that there's more content -- these previews are mostly just intended to show that a certain sub-expression (list item or attribute value) had an error. We don't show the stack trace either (see #9928). |
I also think it would be nice to have an option to configure this behavior, but that can be added later. |
Before: ``` nix-repl> legacyPackages.aarch64-darwin.pythonPackages.APScheduler «error: Package ‘python-2.7.18.7’ in /nix/store/6s0m1qc31zw3l3kq0q4wd5cp3lqpkq0q-source/pkgs/development/interpreters/python/cpython/2.7/default.nix:335 is marked as insecure, refusing to evaluate. Known issues: - Python 2.7 has reached its end of life after 2020-01-01. See https://www.python.org/doc/sunset-python-2/. You can install it anyway by allowing this package, using the following methods: a) To temporarily allow all insecure packages, you can use an environment variable for a single invocation of the nix tools: $ export NIXPKGS_ALLOW_INSECURE=1 Note: When using `nix shell`, `nix build`, `nix develop`, etc with a flake, then pass `--impure` in order to allow use of environment variables. b) for `nixos-rebuild` you can add ‘python-2.7.18.7’ to `nixpkgs.config.permittedInsecurePackages` in the configuration.nix, like so: { nixpkgs.config.permittedInsecurePackages = [ "python-2.7.18.7" ]; } c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add ‘python-2.7.18.7’ to `permittedInsecurePackages` in ~/.config/nixpkgs/config.nix, like so: { permittedInsecurePackages = [ "python-2.7.18.7" ]; } » ``` After: ``` nix-repl> legacyPackages.aarch64-darwin.pythonPackages.APScheduler «error: Package ‘python-2.7.18.7’ in /nix/store/6s0m1qc31zw3l3kq0q4wd5cp3lqpkq0q-source/pkgs/development/interpreters/python/cpython/2.7/default.nix:335 is marked as insecure, refusing to evaluate.» ```
5ef4cb3
to
bb196f4
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2024-03-11-nix-team-meeting-132/42960/1 |
Before:
After:
(Probably
nix repl
should print the whole error for top-level errors, but that's a separate issue. Update: Fixed in #10209.)Priorities and Process
Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.