keepassxc

This commit is contained in:
elwrcl committed 2026-10-18 16:34:41 +03:00
1 parent 4e6787d4b4
commit 776b7c3f87
4 files changed
+86

No files matched your search

@@ -0,0 +1,29 @@
{ ... }:
{
flake.homeModules.home-keepassxc-autostart =
{ config, ... }:
{
programs.keepassxc.settings.GUI = {
ShowTrayIcon = true;
MinimizeToTray = true;
MinimizeOnClose = true;
};
systemd.user.services.keepassxc = {
Unit = {
Description = "KeePassXC";
PartOf = [ "graphical-session.target" ];
After = [
"graphical-session.target"
"rclone-gdrive.service"
];
Wants = [ "rclone-gdrive.service" ];
};
Service = {
ExecStart = "${config.programs.keepassxc.package}/bin/keepassxc --minimized";
Restart = "on-failure";
};
Install.WantedBy = [ "graphical-session.target" ];
};
};
}
@@ -0,0 +1,9 @@
{ ... }:
{
flake.homeModules.home-keepassxc-helium =
{ config, ... }:
{
xdg.configFile."net.imput.helium/NativeMessagingHosts/org.keepassxc.keepassxc_browser.json".source =
"${config.programs.keepassxc.package}/etc/chromium/native-messaging-hosts/org.keepassxc.keepassxc_browser.json";
};
}
@@ -0,0 +1,27 @@
{ ... }:
{
flake.homeModules.home-keepassxc-mutable-config =
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.keepassxc;
ini = "${config.xdg.configHome}/keepassxc/keepassxc.ini";
declared = (pkgs.formats.ini { }).generate "keepassxc-declared.ini" cfg.settings;
in
{
xdg.configFile."keepassxc/keepassxc.ini".enable = lib.mkForce false;
home.activation.keepassxcConfig = lib.hm.dag.entryAfter [ "linkGeneration" ] ''
if [ -L ${ini} ]; then
run rm ${ini}
fi
run mkdir -p ${config.xdg.configHome}/keepassxc
run touch ${ini}
run ${pkgs.crudini}/bin/crudini --merge ${ini} < ${declared}
'';
};
}
@@ -0,0 +1,21 @@
{ ... }:
{
flake.homeModules.home-keepassxc =
{ ... }:
{
programs.keepassxc = {
enable = true;
settings = {
Browser = {
Enabled = true;
UpdateBinaryPath = false;
};
Security = {
LockDatabaseIdle = true;
LockDatabaseIdleSeconds = 900;
ClearClipboardTimeout = 20;
};
};
};
};
}