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.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/accounts/gkleen@skadhi/keepassxc.nix b/accounts/gkleen@skadhi/keepassxc.nix
new file mode 100644
index 00000000..7b7d60ef
--- /dev/null
+++ b/accounts/gkleen@skadhi/keepassxc.nix
@@ -0,0 +1,53 @@
1{ pkgs, lib, ... }:
2let
3 wrappedKeepassxc = pkgs.symlinkJoin {
4 inherit (pkgs.keepassxc) name;
5 paths = with pkgs; [
6 keepassxc
7 (pkgs.writeTextFile {
8 name = "org.keepassxc.KeePassXC";
9 destination = "/share/dbus-1/services/org.keepassxc.KeePassXC.MainWindow.service";
10 text = ''
11 [D-BUS Service]
12 Name=org.keepassxc.KeePassXC.MainWindow
13 Exec=${lib.getExe' pkgs.coreutils "false"}
14 SystemdService=keepassxc.service
15 '';
16 })
17 (pkgs.writeTextFile {
18 name = "org.freedesktop.secrets";
19 destination = "/share/dbus-1/services/org.freedesktop.secrets.service";
20 text = ''
21 [D-BUS Service]
22 Name=org.freedesktop.secrets
23 Exec=${lib.getExe' pkgs.coreutils "false"}
24 SystemdService=keepassxc.service
25 '';
26 })
27 ];
28 };
29in {
30 config = {
31 home.packages = [
32 wrappedKeepassxc
33 ];
34
35 xdg.dataFile = {
36 "dbus-1/services/org.keepassxc.KeePassXC.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.keepassxc.KeePassXC.service";
37 "dbus-1/services/org.freedesktop.secrets.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.freedesktop.secrets.service";
38 "dbus-1/services/org.kde.kwalletd6.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd6.service";
39 "dbus-1/services/org.kde.kwalletd5.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd5.service";
40 };
41
42 home.persistence."/persistent" = {
43 directories = [
44 ".config/keepassxc"
45 ];
46 files = [
47 "store.kdbx"
48 ];
49 };
50
51 services.gnome-keyring.enable = lib.mkForce false;
52 };
53}