diff --git a/pkgs/applications/window-managers/eww/default.nix b/pkgs/applications/window-managers/eww/default.nix new file mode 100644 index 000000000000..c96ddcbaf21e --- /dev/null +++ b/pkgs/applications/window-managers/eww/default.nix @@ -0,0 +1,43 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, gtk3 +, withWayland ? false +, gtk-layer-shell +}: + +rustPlatform.buildRustPackage rec { + pname = "eww"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "elkowar"; + repo = pname; + rev = "v${version}"; + sha256 = "050zc3w1z9f2vg6sz86mdxf345gd3s3jf09gf4y8y1mqkzs86b8x"; + }; + + cargoSha256 = "sha256-LejnTVv9rhL9CVW1fgj2gFv4amHQeziu5uaH2ae8AAw="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ gtk3 ] ++ lib.optional withWayland gtk-layer-shell; + + cargoBuildFlags = [ "--bin" "eww" ] ++ lib.optionals withWayland [ + "--no-default-features" + "--features=wayland" + ]; + + cargoTestFlags = cargoBuildFlags; + + # requires unstable rust features + RUSTC_BOOTSTRAP = 1; + + meta = with lib; { + description = "ElKowars wacky widgets"; + homepage = "https://github.com/elkowar/eww"; + license = licenses.mit; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 29b44acfc8a0..ee7696160b1e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24565,6 +24565,11 @@ with pkgs; evilpixie = libsForQt5.callPackage ../applications/graphics/evilpixie { }; + eww = callPackage ../applications/window-managers/eww { }; + eww-wayland = callPackage ../applications/window-managers/eww { + withWayland = true; + }; + exaile = callPackage ../applications/audio/exaile { }; exercism = callPackage ../applications/misc/exercism { };