Closed Anomalocaridid closed 6 months ago
Not sure if it's related but the version of rust-overlay that eww is using has known issues with newer versions of nixpkgs. See https://github.com/oxalica/rust-overlay/issues/121 . Fixed by bump the version in #818
If you're using a nix flake you can avoid the issue temporarily with:
{
inputs = {
eww.url = "github:elkowar/eww";
eww.inputs.nixpkgs.follows = "nixpkgs";
eww.inputs.rust-overlay.follows = "rust-overlay";
// ...
};
// ...
}
Hey @PatrickShaw!
I've tried doing what you suggested but am still getting errors like
> error[E0599]: no method named `drain_filter` found for struct `std::collections::HashMap` in the current scope
> --> crates/eww/src/widgets/widget_definitions.rs:130:62
> |
> 130 | let contained_deprecated: Vec<_> = bargs.unhandled_attrs.drain_filter(|a, _| deprecated.contains(&a.0 as &str)).collect();
> | ^^^^^^^^^^^^ method not found in `HashMap<AttrName, AttrEntry>`
when compiling eww-wayland
. Seems like the rust version used for eww-wayland
build is still not up do date. These are my inputs:
nixpkgs.url = "github:NixOs/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
eww-wayland.url = "github:elkowar/eww";
# tmp fix https://github.com/elkowar/eww/issues/817
eww-wayland.inputs.nixpkgs.follows = "nixpkgs";
eww-wayland.inputs.rust-overlay.follows = "rust-overlay";
any idea what's going on here? :thinking:
Checklist before submitting an issue
Description of the bug
When building from the nix flake, I get an error if I do not have the rust-overlay flake installed even thought it is declared as a dependency in eww's flake.
Reproducing the issue
nixos-rebuild test
. This should fail with an error from nix sayingerror: attribute 'rust-bin' missing
nixos-rebuild test
again. Eww should build and install successfully.Expected behaviour
I expected to not need to manually set up
rust-overlay
for eww to successfully build.Additional context