diff --git a/derivations/default.nix b/derivations/default.nix index 404844f7..2701197a 100644 --- a/derivations/default.nix +++ b/derivations/default.nix @@ -7,4 +7,5 @@ adwaita-for-steam = pkgs.callPackage ./adwaita-for-steam {src = inputs.adwaita-for-steam;}; dconf-editor-wrapped = pkgs.callPackage ./dconf-editor-wrapped {}; dell-b1160w = pkgs.callPackage ./dell-b1160w {}; + xdg-desktop-portal-termfilechooser = pkgs.callPackage ./xdg-desktop-portal-termfilechooser {}; } diff --git a/derivations/xdg-desktop-portal-termfilechooser/default.nix b/derivations/xdg-desktop-portal-termfilechooser/default.nix new file mode 100644 index 00000000..90db52dc --- /dev/null +++ b/derivations/xdg-desktop-portal-termfilechooser/default.nix @@ -0,0 +1,65 @@ +# NOTE: Adapted from nixpkgs xdg-desktop-portal-wlr derivation +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, makeWrapper +, meson +, ninja +, pkg-config +, wayland-protocols +, wayland-scanner +# , grim +, inih +, libdrm +, mesa +, pipewire +, scdoc +# , slurp +, systemd +, wayland +}: + +stdenv.mkDerivation rec { + pname = "xdg-desktop-portal-termfilechooser"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "GermainZ"; + repo = pname; + rev = "71dc7ab06751e51de392b9a7af2b50018e40e062"; # Was last commit on 17.04.2023 + sha256 = "sha256-UztkfvMIbslPd/d262NZFb6WfESc9nBsSSH96BA4Aqw="; + }; + + # scdoc: mark as build-time dependency + # https://github.com/emersion/xdg-desktop-portal-wlr/pull/248 + # patches = [(fetchpatch { + # url = "https://github.com/emersion/xdg-desktop-portal-wlr/commit/92ccd62428082ba855e359e83730c4370cd1aac7.patch"; + # hash = "sha256-mU1whfp7BoSylaS3y+YwfABImZFOeuItSXCon0C7u20="; + # })]; + + # Add hyprland to portal metainformation + patches = [(fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/GermainZ/xdg-desktop-portal-termfilechooser/pull/6.patch"; + hash = "sha256-mU1whfp7BoSylaS3y+YwfABImZFOeuItSXCon0C7u20="; + })]; + + strictDeps = true; + depsBuildBuild = [ pkg-config ]; + nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner makeWrapper ]; + buildInputs = [ inih libdrm mesa pipewire systemd wayland wayland-protocols ]; + + mesonFlags = [ + "-Dsd-bus-provider=libsystemd" + ]; + + # postInstall = '' + # wrapProgram $out/libexec/xdg-desktop-portal-termfilechooser --prefix PATH ":" ${lib.makeBinPath [ grim slurp ]} + # ''; + + meta = with lib; { + homepage = "https://github.com/GermainZ/xdg-desktop-portal-termfilechooser"; + platforms = platforms.linux; + license = licenses.mit; + }; +} \ No newline at end of file