mirror of
https://github.com/hyprwm/xdg-desktop-portal-hyprland.git
synced 2024-12-27 20:09:48 +01:00
77 lines
2.7 KiB
Nix
77 lines
2.7 KiB
Nix
{
|
|
self,
|
|
inputs,
|
|
lib,
|
|
}: let
|
|
ver = lib.removeSuffix "\n" (builtins.readFile ../VERSION);
|
|
|
|
mkDate = longDate: (lib.concatStringsSep "-" [
|
|
(builtins.substring 0 4 longDate)
|
|
(builtins.substring 4 2 longDate)
|
|
(builtins.substring 6 2 longDate)
|
|
]);
|
|
|
|
version = ver + "+date=" + (mkDate (self.lastModifiedDate or "19700101")) + "_" + (self.shortRev or "dirty");
|
|
in {
|
|
# List dependencies in ascending order with respect to usage (`foldr`).
|
|
default = lib.composeManyExtensions [
|
|
self.overlays.xdg-desktop-portal-hyprland
|
|
self.overlays.sdbus-cpp_2
|
|
self.overlays.hypr-gcc14Stdenv
|
|
inputs.hyprland-protocols.overlays.default
|
|
inputs.hyprwayland-scanner.overlays.default
|
|
inputs.hyprlang.overlays.default
|
|
inputs.hyprutils.overlays.default
|
|
];
|
|
|
|
xdg-desktop-portal-hyprland = lib.composeManyExtensions [
|
|
(final: prev: {
|
|
xdg-desktop-portal-hyprland = final.callPackage ./default.nix {
|
|
stdenv = prev.gcc14Stdenv;
|
|
inherit (final.qt6) qtbase qttools wrapQtAppsHook qtwayland;
|
|
inherit version;
|
|
};
|
|
})
|
|
];
|
|
|
|
# If `prev` already contains `sdbus-cpp_2`, do not modify the package set.
|
|
# If the previous fixpoint does not contain the attribute,
|
|
# create a new package attribute, `sdbus-cpp_2` by overriding `sdbus-cpp`
|
|
# from `final` with the new version of `src`.
|
|
#
|
|
# This matches the naming/versioning scheme used in `nixos-unstable` as of writing (10-27-2024).
|
|
#
|
|
# This overlay can be applied to either a stable release of Nixpkgs, or any of the unstable branches.
|
|
# If you're using an unstable branch (or a release one) which already has `sdbus-cpp_2`,
|
|
# this overlay is effectively a wrapper of an identity function.
|
|
#
|
|
# TODO: Remove this overlay after the next stable Nixpkgs release.
|
|
sdbus-cpp_2 = final: prev: {
|
|
sdbus-cpp_2 =
|
|
prev.sdbus-cpp_2
|
|
or (final.sdbus-cpp.overrideAttrs (self: _: {
|
|
version = "2.0.0";
|
|
|
|
src = final.fetchFromGitHub {
|
|
owner = "Kistler-group";
|
|
repo = "sdbus-cpp";
|
|
rev = "v${self.version}";
|
|
hash = "sha256-W8V5FRhV3jtERMFrZ4gf30OpIQLYoj2yYGpnYOmH2+g=";
|
|
};
|
|
}));
|
|
};
|
|
|
|
# TODO: remove this when the next version of Hyprland is available (in Nixpkgs)
|
|
hypr-gcc14Stdenv = final: prev: {
|
|
hyprcursor = (prev.hyprcursor.override {stdenv = prev.gcc14Stdenv;}).overrideAttrs (self: super: {
|
|
src = final.fetchFromGitHub {
|
|
owner = "hyprwm";
|
|
repo = "hyprcursor";
|
|
rev = "f388aacd22be4a6e4d634fbaf6f75eb0713d239a";
|
|
hash = "sha256-+2bZJL2u5hva7rSp65OfKJBK+k03T6GB/NCvpoS1OOo=";
|
|
};
|
|
});
|
|
hyprlang = prev.hyprlang.override {stdenv = prev.gcc14Stdenv;};
|
|
hyprutil = prev.hyprutil.override {stdenv = prev.gcc14Stdenv;};
|
|
};
|
|
}
|