diff options
Diffstat (limited to 'accounts/gkleen@skadhi/keepassxc.nix')
| -rw-r--r-- | accounts/gkleen@skadhi/keepassxc.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/accounts/gkleen@skadhi/keepassxc.nix b/accounts/gkleen@skadhi/keepassxc.nix new file mode 100644 index 00000000..c399450d --- /dev/null +++ b/accounts/gkleen@skadhi/keepassxc.nix | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | { pkgs, lib, ... }: | ||
| 2 | { | ||
| 3 | config = { | ||
| 4 | environment.systemPackages = [ pkgs.keepassxc ]; | ||
| 5 | |||
| 6 | home-manager.users.gkleen = { ... }: { | ||
| 7 | xdg.dataFile = { | ||
| 8 | "dbus-1/services/org.keepassxc.KeePassXC.MainWindow.service".text = '' | ||
| 9 | [D-BUS Service] | ||
| 10 | Name=org.keepassxc.KeePassXC.MainWindow | ||
| 11 | Exec=${lib.getExe' pkgs.coreutils "false"} | ||
| 12 | SystemdService=keepassxc.service | ||
| 13 | ''; | ||
| 14 | "dbus-1/services/org.freedesktop.secrets.service".text = '' | ||
| 15 | [D-BUS Service] | ||
| 16 | Name=org.freedesktop.secrets | ||
| 17 | Exec=${lib.getExe' pkgs.coreutils "false"} | ||
| 18 | SystemdService=keepassxc.service | ||
| 19 | ''; | ||
| 20 | "dbus-1/services/org.kde.kwalletd6.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd6.service"; | ||
| 21 | "dbus-1/services/org.kde.kwalletd5.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd5.service"; | ||
| 22 | }; | ||
| 23 | |||
| 24 | home.persistence."/persistent" = { | ||
| 25 | directories = [ | ||
| 26 | ".config/keepassxc" | ||
| 27 | ]; | ||
| 28 | files = [ | ||
| 29 | "store.kdbx" | ||
| 30 | ]; | ||
| 31 | }; | ||
| 32 | |||
| 33 | services.gnome-keyring.enable = lib.mkForce false; | ||
| 34 | |||
| 35 | systemd.user.services.keepassxc = { | ||
| 36 | Service = { | ||
| 37 | Type = "dbus"; | ||
| 38 | BusName = "org.keepassxc.KeePassXC.MainWindow"; | ||
| 39 | WorkingDirectory = "~"; | ||
| 40 | ExecStart = lib.getExe pkgs.keepassxc; | ||
| 41 | Environment = [ "QT_QPA_PLATFORM=wayland" ]; | ||
| 42 | }; | ||
| 43 | Unit = { | ||
| 44 | After = [ "graphical-session.target" ]; | ||
| 45 | BindsTo = [ "graphical-session.target" ]; | ||
| 46 | }; | ||
| 47 | }; | ||
| 48 | }; | ||
| 49 | }; | ||
| 50 | } | ||
