Signed-off-by: Hadi <hadi@example.com>
This commit is contained in:
Hadi
2026-07-30 13:38:20 +02:00
parent 0d901aa10c
commit ee0cb3cf68
6 changed files with 40 additions and 5 deletions
+1
View File
@@ -91,6 +91,7 @@
nativeBuildInputs = [pkgs.makeWrapper]; nativeBuildInputs = [pkgs.makeWrapper];
postBuild = '' postBuild = ''
wrapProgram $out/bin/helium \ wrapProgram $out/bin/helium \
--set-default GTK_USE_PORTAL 1 \
--run ${lib.escapeShellArg (toString patchScript)} --run ${lib.escapeShellArg (toString patchScript)}
''; '';
}; };
+24
View File
@@ -0,0 +1,24 @@
# Use yazi as the file picker for portal dialogs (browser "select file(s)" and
# "save download to..."). The backend is xdg-desktop-portal-termfilechooser,
# enabled system-wide in nixos/utils.nix (extraPortals + FileChooser routing).
{
config,
pkgs,
...
}: let
wrapper = "${pkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh";
# ghostty must run in the foreground instead of handing off to the
# single-instance daemon, otherwise the wrapper returns before you've picked
# anything and the portal reads an empty selection.
termcmd = "ghostty --gtk-single-instance=false --title=termfilechooser -e";
in {
xdg.configFile."xdg-desktop-portal-termfilechooser/config".text = ''
[filechooser]
cmd=${wrapper}
default_dir=$HOME
open_mode=suggested
save_mode=suggested
env=TERMCMD=${termcmd}
PATH=${config.home.profileDirectory}/bin:/run/current-system/sw/bin:/run/wrappers/bin
'';
}
+1
View File
@@ -38,6 +38,7 @@
../../home/system/swaync ../../home/system/swaync
../../home/system/tofi ../../home/system/tofi
../../home/system/mime ../../home/system/mime
../../home/system/termfilechooser
../../home/system/udiskie ../../home/system/udiskie
../../home/system/clipboard ../../home/system/clipboard
../../home/system/hypridle ../../home/system/hypridle
+1
View File
@@ -35,6 +35,7 @@
../../home/system/swaync ../../home/system/swaync
../../home/system/tofi ../../home/system/tofi
../../home/system/mime ../../home/system/mime
../../home/system/termfilechooser
../../home/system/udiskie ../../home/system/udiskie
../../home/system/clipboard ../../home/system/clipboard
../../home/system/hypridle ../../home/system/hypridle
+9 -2
View File
@@ -119,13 +119,20 @@ in {
xdgOpenUsePortal = true; xdgOpenUsePortal = true;
config = { config = {
common.default = ["gtk"]; common.default = ["gtk"];
hyprland.default = [ hyprland = {
default = [
"gtk" "gtk"
"hyprland" "hyprland"
]; ];
# Pick files / choose download paths with yazi instead of the GTK dialog
"org.freedesktop.portal.FileChooser" = ["termfilechooser"];
};
}; };
extraPortals = [pkgs.xdg-desktop-portal-gtk]; extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-termfilechooser
];
}; };
security.rtkit.enable = true; security.rtkit.enable = true;
+1
View File
@@ -2,3 +2,4 @@
- Check claude: Sécu, mots en français, faute, ... - Check claude: Sécu, mots en français, faute, ...
- LOW BATTERY OSD - LOW BATTERY OSD
- a jour ./docs/NEOVIM.md - a jour ./docs/NEOVIM.md
yazi as a file chooser