summaryrefslogtreecommitdiff
path: root/accounts
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2026-09-29 09:08:38 +0200
committerGregor Kleen <gkleen@yggdrasil.li>2026-09-29 09:08:38 +0200
commitf198d440e5579697e4bd6a910b272d1d74e76bb2 (patch)
tree00c3b2e551c596bebf9ea0f3c075b49f64d523b9 /accounts
parenta9d6456f49347b6e6280ebb5355db10c5718a357 (diff)
downloadnixos-f198d440e5579697e4bd6a910b272d1d74e76bb2.tar
nixos-f198d440e5579697e4bd6a910b272d1d74e76bb2.tar.gz
nixos-f198d440e5579697e4bd6a910b272d1d74e76bb2.tar.bz2
nixos-f198d440e5579697e4bd6a910b272d1d74e76bb2.tar.xz
nixos-f198d440e5579697e4bd6a910b272d1d74e76bb2.zip
Diffstat (limited to 'accounts')
-rw-r--r--accounts/gkleen@skadhi/default.nix4
-rw-r--r--accounts/gkleen@skadhi/keepassxc.nix71
2 files changed, 36 insertions, 39 deletions
diff --git a/accounts/gkleen@skadhi/default.nix b/accounts/gkleen@skadhi/default.nix
index 6d8195aa..67d249c5 100644
--- a/accounts/gkleen@skadhi/default.nix
+++ b/accounts/gkleen@skadhi/default.nix
@@ -3,7 +3,7 @@ let
3 user = config.users.users.${userName}; 3 user = config.users.users.${userName};
4in { 4in {
5 imports = [ 5 imports = [
6 ./greetd.nix ./rzm ./email 6 ./greetd.nix ./rzm ./email ./keepassxc.nix
7 ] ++ (with flake.nixosModules.userProfiles.${userName}; [ 7 ] ++ (with flake.nixosModules.userProfiles.${userName}; [
8 zsh mpv yt-dlp 8 zsh mpv yt-dlp
9 ]) ++ (with flake.nixosModules.systemProfiles; [ 9 ]) ++ (with flake.nixosModules.systemProfiles; [
@@ -62,7 +62,7 @@ in {
62 home-manager.users.${userName} = { sysConfig, config, ... }: { 62 home-manager.users.${userName} = { sysConfig, config, ... }: {
63 imports = [ 63 imports = [
64 flakeInputs.nix-index-database.homeModules.nix-index 64 flakeInputs.nix-index-database.homeModules.nix-index
65 ./niri.nix ./shell ./emacs ./zsh ./ssh ./keepassxc.nix ./firefox 65 ./niri.nix ./shell ./emacs ./zsh ./ssh ./firefox
66 ]; 66 ];
67 67
68 home.stateVersion = "26.05"; 68 home.stateVersion = "26.05";
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 @@
1{ pkgs, lib, ... }: 1{ pkgs, lib, ... }:
2let 2{
3 wrappedKeepassxc = pkgs.symlinkJoin { 3 config = {
4 inherit (pkgs.keepassxc) name; 4 environment.systemPackages = [ pkgs.keepassxc ];
5 paths = with pkgs; [ 5
6 keepassxc 6 home-manager.users.gkleen = { ... }: {
7 (pkgs.writeTextFile { 7 xdg.dataFile = {
8 name = "org.keepassxc.KeePassXC"; 8 "dbus-1/services/org.keepassxc.KeePassXC.MainWindow.service".text = ''
9 destination = "/share/dbus-1/services/org.keepassxc.KeePassXC.MainWindow.service";
10 text = ''
11 [D-BUS Service] 9 [D-BUS Service]
12 Name=org.keepassxc.KeePassXC.MainWindow 10 Name=org.keepassxc.KeePassXC.MainWindow
13 Exec=${lib.getExe' pkgs.coreutils "false"} 11 Exec=${lib.getExe' pkgs.coreutils "false"}
14 SystemdService=keepassxc.service 12 SystemdService=keepassxc.service
15 ''; 13 '';
16 }) 14 "dbus-1/services/org.freedesktop.secrets.service".text = ''
17 (pkgs.writeTextFile {
18 name = "org.freedesktop.secrets";
19 destination = "/share/dbus-1/services/org.freedesktop.secrets.service";
20 text = ''
21 [D-BUS Service] 15 [D-BUS Service]
22 Name=org.freedesktop.secrets 16 Name=org.freedesktop.secrets
23 Exec=${lib.getExe' pkgs.coreutils "false"} 17 Exec=${lib.getExe' pkgs.coreutils "false"}
24 SystemdService=keepassxc.service 18 SystemdService=keepassxc.service
25 ''; 19 '';
26 }) 20 "dbus-1/services/org.kde.kwalletd6.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd6.service";
27 ]; 21 "dbus-1/services/org.kde.kwalletd5.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd5.service";
28 }; 22 };
29in {
30 config = {
31 home.packages = [
32 wrappedKeepassxc
33 ];
34 23
35 xdg.dataFile = { 24 home.persistence."/persistent" = {
36 "dbus-1/services/org.keepassxc.KeePassXC.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.keepassxc.KeePassXC.service"; 25 directories = [
37 "dbus-1/services/org.freedesktop.secrets.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.freedesktop.secrets.service"; 26 ".config/keepassxc"
38 "dbus-1/services/org.kde.kwalletd6.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd6.service"; 27 ];
39 "dbus-1/services/org.kde.kwalletd5.service".source = "${pkgs.kdePackages.kwallet}/share/dbus-1/services/org.kde.kwalletd5.service"; 28 files = [
40 }; 29 "store.kdbx"
30 ];
31 };
41 32
42 home.persistence."/persistent" = { 33 services.gnome-keyring.enable = lib.mkForce false;
43 directories = [
44 ".config/keepassxc"
45 ];
46 files = [
47 "store.kdbx"
48 ];
49 };
50 34
51 services.gnome-keyring.enable = lib.mkForce false; 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 };
52 }; 49 };
53} 50}