{ pkgs, lib, ... }: { 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 ''; "dbus-1/services/org.freedesktop.secrets.service".text = '' [D-BUS Service] Name=org.freedesktop.secrets Exec=${lib.getExe' pkgs.coreutils "false"} SystemdService=keepassxc.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" ]; }; 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" ]; }; }; }; }; }