Files
copnix/modules/home/keepassxc/home-keepassxc-mutable-config.ulu.nix
2026-10-18 16:34:41 +03:00

28 lines
732 B
Nix

{ ... }:
{
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}
'';
};
}