pass-secret-service fixes

This commit is contained in:
Alexander Bantyev 2022-06-02 21:54:49 +04:00
parent e39a8d02bd
commit 9787ff37ea
Signed by: balsoft
GPG Key ID: E081FF12ADCB4AD5
3 changed files with 24 additions and 6 deletions

View File

@ -57,7 +57,24 @@ in rec {
nerdfonts = nur.balsoft.pkgs.roboto-mono-nerd;
pass-secret-service =
prev.pass-secret-service.overrideAttrs (_: { installCheckPhase = null; });
prev.pass-secret-service.overrideAttrs (_: {
installCheckPhase = null;
postInstall = ''
mkdir -p $out/share/{dbus-1/services,xdg-desktop-portal/portals}
cat > $out/share/dbus-1/services/org.freedesktop.secrets.service << EOF
[D-BUS Service]
Name=org.freedesktop.secrets
Exec=/run/current-system/sw/bin/systemctl --user start pass-secret-service
EOF
cp $out/share/dbus-1/services/{org.freedesktop.secrets.service,org.freedesktop.impl.portal.Secret.service}
cat > $out/share/xdg-desktop-portal/portals/pass-secret-service.portal << EOF
[portal]
DBusName=org.freedesktop.secrets
Interfaces=org.freedesktop.impl.portal.Secrets
UseIn=gnome
EOF
'';
});
nix-direnv = inputs.nix-direnv.defaultPackage.${system};

View File

@ -54,7 +54,6 @@ in {
mutableExtensionsDir = false;
extensions = with pkgs.vscode-extensions;
[
asvetliakov.vscode-neovim
kahole.magit
(inputs.direnv-vscode.packages.${pkgs.system}.vsix.overrideAttrs (_: {
buildPhase = "yarn run build";

View File

@ -9,11 +9,15 @@
gnome-settings-daemon.enable = true;
glib-networking.enable = true;
# pass-secret-service is used instead
gnome-keyring.enable = true;
gnome-keyring.enable = lib.mkForce false;
gnome-online-accounts.enable = true;
gnome-online-miners.enable = true;
};
environment.systemPackages = [ pkgs.pass-secret-service ];
services.dbus.packages = [ pkgs.pass-secret-service ];
xdg.portal.extraPortals = [ pkgs.pass-secret-service ];
services.gvfs.enable = true;
services.geoclue2.enable = true;
@ -43,14 +47,12 @@
systemd.user.services.pass-secret-service = {
Service = {
ExecStart = lib.mkForce
"${pkgs.pass-secret-service}/bin/pass_secret_service --path ${config.environment.variables.PASSWORD_STORE_DIR}";
Type = "dbus";
Environment = [ "GPG_TTY=/dev/tty1" "DISPLAY=:0" ];
BusName = "org.freedesktop.secrets";
};
Unit = rec {
Wants = [ "gpg-agent.service" "activate-secrets.service" ];
Wants = [ "gpg-agent.service" ];
After = Wants;
PartOf = [ "graphical-session-pre.target" ];
};