From 19f1d8c1a05f91063e6a11fa171ef551ea51fb15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Fri, 28 Jun 2024 22:50:17 -0300 Subject: [PATCH] gnome: package gnome-pass-search-provider --- pkgs/default.nix | 1 + pkgs/gnome-pass-search-provider.nix | 64 +++++++++++++++++++++++++++++ system/gnome.nix | 3 ++ user/gnome.nix | 2 + user/gpg.nix | 1 - user/sway/default.nix | 2 + 6 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 pkgs/gnome-pass-search-provider.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 4bfc896..73134c7 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -8,4 +8,5 @@ lipsum = pkgs.callPackage ./lipsum.nix { }; emmet-cli = pkgs.callPackage ./emmet-cli.nix { }; material-wifi-icons = pkgs.callPackage ./material-wifi-icons.nix { }; + gnome-pass-search-provider = pkgs.callPackage ./gnome-pass-search-provider.nix { }; } diff --git a/pkgs/gnome-pass-search-provider.nix b/pkgs/gnome-pass-search-provider.nix new file mode 100644 index 0000000..e149505 --- /dev/null +++ b/pkgs/gnome-pass-search-provider.nix @@ -0,0 +1,64 @@ +{ + stdenv, + fetchFromGitHub, + python3Packages, + wrapGAppsHook, + gtk3, + gobject-introspection, + gnome, +}: + +let + inherit (python3Packages) + dbus-python + pygobject3 + fuzzywuzzy + levenshtein + ; +in + +stdenv.mkDerivation rec { + pname = "gnome-pass-search-provider"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "jle64"; + repo = "gnome-pass-search-provider"; + rev = version; + hash = "sha256-PDR8fbDoT8IkHiTopQp0zd4DQg7JlacA6NdKYKYmrWw="; + }; + + nativeBuildInputs = [ + python3Packages.wrapPython + wrapGAppsHook + ]; + + propagatedBuildInputs = [ + dbus-python + pygobject3 + fuzzywuzzy + levenshtein + + gtk3 + gobject-introspection + ]; + + env = { + LIBDIR = builtins.placeholder "out" + "/lib"; + DATADIR = builtins.placeholder "out" + "/share"; + }; + + postPatch = '' + substituteInPlace conf/org.gnome.Pass.SearchProvider.service.{dbus,systemd} \ + --replace-fail "/usr/lib" "$LIBDIR" + ''; + + installPhase = '' + bash ./install.sh + ''; + + postFixup = '' + makeWrapperArgs=( "''${gappsWrapperArgs[@]}" ) + wrapPythonProgramsIn "$out/lib" "$out $propagatedBuildInputs" + ''; +} diff --git a/system/gnome.nix b/system/gnome.nix index 6a3509b..f56f938 100644 --- a/system/gnome.nix +++ b/system/gnome.nix @@ -30,6 +30,8 @@ hardware.opentabletdriver.enable = lib.mkForce false; + programs.gpaste.enable = true; + # services.xserver.displayManager.autologin.user = "lelgenio"; environment.systemPackages = with pkgs; @@ -40,5 +42,6 @@ chrome-gnome-shell gnomeExtensions.quick-settings-audio-devices-hider + gnome-pass-search-provider ]; } diff --git a/user/gnome.nix b/user/gnome.nix index 53dd630..4924158 100644 --- a/user/gnome.nix +++ b/user/gnome.nix @@ -49,6 +49,8 @@ lib.mkIf (config.my.desktop == "gnome") { QT_QPA_PLATFORMTHEME = "qt5ct"; }; + services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3; + xdg.defaultApplications = { enable = lib.mkForce false; }; diff --git a/user/gpg.nix b/user/gpg.nix index dc39066..f1c472f 100644 --- a/user/gpg.nix +++ b/user/gpg.nix @@ -10,7 +10,6 @@ enable = true; defaultCacheTtl = 604800; maxCacheTtl = 604800; - pinentryPackage = pkgs.pinentry-curses; extraConfig = '' allow-preset-passphrase ''; diff --git a/user/sway/default.nix b/user/sway/default.nix index 57627d6..3e86994 100644 --- a/user/sway/default.nix +++ b/user/sway/default.nix @@ -131,6 +131,8 @@ in }; }; + services.gpg-agent.pinentryPackage = pkgs.pinentry-all; + xdg.configFile."OpenTabletDriver/settings.json".source = ./open-tablet-driver.json; home.packages = with pkgs; [