summaryrefslogtreecommitdiff
path: root/accounts/gkleen@skadhi/keepassxc.nix
diff options
context:
space:
mode:
Diffstat (limited to 'accounts/gkleen@skadhi/keepassxc.nix')
-rw-r--r--accounts/gkleen@skadhi/keepassxc.nix50
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}