From f198d440e5579697e4bd6a910b272d1d74e76bb2 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Tue, 29 Sep 2026 09:08:38 +0200 Subject: ... --- accounts/gkleen@skadhi/keepassxc.nix | 71 +++++++++++++++++------------------- 1 file changed, 34 insertions(+), 37 deletions(-) (limited to 'accounts/gkleen@skadhi/keepassxc.nix') diff --git a/accounts/gkleen@skadhi/keepassxc.nix b/accounts/gkleen@skadhi/keepassxc.nix index 7b7d60ef..c399450d 100644 --- a/accounts/gkleen@skadhi/keepassxc.nix +++ b/accounts/gkleen@skadhi/keepassxc.nix @@ -1,53 +1,50 @@ { pkgs, lib, ... }: -let - wrappedKeepassxc = pkgs.symlinkJoin { - inherit (pkgs.keepassxc) name; - paths = with pkgs; [ - keepassxc - (pkgs.writeTextFile { - name = "org.keepassxc.KeePassXC"; - destination = "/share/dbus-1/services/org.keepassxc.KeePassXC.MainWindow.service"; - text = '' +{ + config = { + environment.systemPackages = [ pkgs.keepassxc ]; + + home-manager.users.gkleen = { ... }: { + xdg.dataFile = { + "dbus-1/services/org.keepassxc.KeePassXC.MainWindow.service".text = '' [D-BUS Service] Name=org.keepassxc.KeePassXC.MainWindow Exec=${lib.getExe' pkgs.coreutils "false"} SystemdService=keepassxc.service ''; - }) - (pkgs.writeTextFile { - name = "org.freedesktop.secrets"; - destination = "/share/dbus-1/services/org.freedesktop.secrets.service"; - text = '' + "dbus-1/services/org.freedesktop.secrets.service".text = '' [D-BUS Service] Name=org.freedesktop.secrets Exec=${lib.getExe' pkgs.coreutils "false"} SystemdService=keepassxc.service ''; - }) - ]; - }; -in { - config = { - home.packages = [ - wrappedKeepassxc - ]; + "dbus-1/services/org.kde.kwalletd6.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd6.service"; + "dbus-1/services/org.kde.kwalletd5.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd5.service"; + }; - xdg.dataFile = { - "dbus-1/services/org.keepassxc.KeePassXC.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.keepassxc.KeePassXC.service"; - "dbus-1/services/org.freedesktop.secrets.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.freedesktop.secrets.service"; - "dbus-1/services/org.kde.kwalletd6.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd6.service"; - "dbus-1/services/org.kde.kwalletd5.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd5.service"; - }; + home.persistence."/persistent" = { + directories = [ + ".config/keepassxc" + ]; + files = [ + "store.kdbx" + ]; + }; - home.persistence."/persistent" = { - directories = [ - ".config/keepassxc" - ]; - files = [ - "store.kdbx" - ]; - }; + services.gnome-keyring.enable = lib.mkForce false; - services.gnome-keyring.enable = lib.mkForce false; + systemd.user.services.keepassxc = { + Service = { + Type = "dbus"; + BusName = "org.keepassxc.KeePassXC.MainWindow"; + WorkingDirectory = "~"; + ExecStart = lib.getExe pkgs.keepassxc; + Environment = [ "QT_QPA_PLATFORM=wayland" ]; + }; + Unit = { + After = [ "graphical-session.target" ]; + BindsTo = [ "graphical-session.target" ]; + }; + }; + }; }; } -- cgit v1.2.3