From cd6303019df08f39e668d2184b4b9700b72bb84d Mon Sep 17 00:00:00 2001 From: matt1432 Date: Sat, 1 Mar 2025 18:25:53 -0500 Subject: [PATCH] feat(gparted): ksshaskpass -> seahorse --- .../desktop/environment/modules/packages.nix | 56 +++++++++++++------ .../desktop/environment/modules/security.nix | 4 +- 2 files changed, 41 insertions(+), 19 deletions(-) diff --git a/modules/desktop/environment/modules/packages.nix b/modules/desktop/environment/modules/packages.nix index 89655411..a0914bdd 100644 --- a/modules/desktop/environment/modules/packages.nix +++ b/modules/desktop/environment/modules/packages.nix @@ -86,6 +86,7 @@ in { } else pkgs.discord; + # FIXME: https://github.com/KaylorBen/nixcord/issues/84 vencord.unstable = false; openASAR.enable = false; @@ -210,31 +211,52 @@ in { .override {isNvidiaWayland = isNvidia;}; GParted = let - inherit (pkgs) writeShellScriptBin libsForQt5 gparted makeWrapper symlinkJoin; + inherit + (pkgs) + # build deps + writeShellApplication + makeWrapper + symlinkJoin + # deps + gparted + psmisc + seahorse + ; - newWrapper = writeShellScriptBin "Gparted" '' - ( - sleep 1.5 - while killall -r -0 ksshaskpass > /dev/null 2>&1 - do - sleep 0.1 - if [[ $(hyprctl activewindow | grep Ksshaskpass) == "" ]]; then - killall -r ksshaskpass - fi - done - ) & - exec env SUDO_ASKPASS="${libsForQt5.ksshaskpass}/bin/ksshaskpass" sudo -k -EA "${getExe gparted}" "$@" - ''; + sudoWrapper = writeShellApplication { + name = "GParted"; + runtimeInputs = [ + gparted + psmisc + "/run/wrappers" + ]; + text = '' + ( + sleep 1.5 + + while killall -r -0 ssh-askpass > /dev/null 2>&1; do + sleep 0.1 + + if [[ $(hyprctl activewindow | grep ssh-askpass) == "" ]]; then + killall -r ssh-askpass + fi + done + ) & + + export SUDO_ASKPASS="${seahorse}/libexec/seahorse/ssh-askpass" + + exec sudo -k -EA gparted "$@" + ''; + }; in symlinkJoin { name = "gparted"; paths = [gparted]; buildInputs = [makeWrapper]; - postBuild = let - in '' + postBuild = '' mkdir $out/.wrapped mv $out/bin/gparted $out/.wrapped - cp ${getExe newWrapper} $out/bin/gparted + cp ${getExe sudoWrapper} $out/bin/gparted sed -i "s#Exec.*#Exec=$out/bin/gparted %f#" $out/share/applications/gparted.desktop ''; diff --git a/modules/desktop/environment/modules/security.nix b/modules/desktop/environment/modules/security.nix index 37e5315d..84a7c2e5 100644 --- a/modules/desktop/environment/modules/security.nix +++ b/modules/desktop/environment/modules/security.nix @@ -85,8 +85,8 @@ in { "center,^(org.kde.polkit-kde-authentication-agent-1)$" # For GParted auth - "size 741 288,^(org.kde.ksshaskpass)$" - "move cursor -370 -144,^(org.kde.ksshaskpass)$" + "size 741 288,^(ssh-askpass)$" + "move cursor -370 -144,^(ssh-askpass)$" ]; bind = map mkBind [