From bae215ec344e20180fb200d70dab49b11026ab8c Mon Sep 17 00:00:00 2001 From: George Kaklamanos Date: Fri, 20 Jun 2025 23:28:15 +0300 Subject: [PATCH] keepassxc: Convert to usage of home-manager module Signed-off-by: George Kaklamanos --- home-manager/config.nix | 1 + home-manager/homeFiles.nix | 35 ------------------------------- home-manager/keepassxc.nix | 42 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 35 deletions(-) create mode 100644 home-manager/keepassxc.nix diff --git a/home-manager/config.nix b/home-manager/config.nix index a7beade..773b34c 100644 --- a/home-manager/config.nix +++ b/home-manager/config.nix @@ -8,6 +8,7 @@ ./cli.nix ./mpv.nix ./ssh.nix + ./keepassxc.nix ]; services.syncthing = { enable = true; diff --git a/home-manager/homeFiles.nix b/home-manager/homeFiles.nix index ae04e49..3247aae 100644 --- a/home-manager/homeFiles.nix +++ b/home-manager/homeFiles.nix @@ -18,39 +18,4 @@ rootless_storage_path="/mnt/storage/.containers" driver="btrfs" ''; - - home.file.".config/keepassxc/keepassxc.ini".text = '' - [General] - ConfigVersion=2 - MinimizeAfterUnlock=true - OpenPreviousDatabasesOnStartup=false - RememberLastDatabases=false - RememberLastKeyFiles=false - - [Browser] - Enabled=true - - [GUI] - CompactMode=true - MonospaceNotes=true - - [PasswordGenerator] - AdditionalChars= - AdvancedMode=true - Dashes=false - ExcludedChars= - Length=64 - Logograms=true - LowerCase=true - Numbers=true - Punctuation=false - UpperCase=true - - [SSHAgent] - Enabled=true - - [Security] - IconDownloadFallback=true - LockDatabaseScreenLock=false - ''; } diff --git a/home-manager/keepassxc.nix b/home-manager/keepassxc.nix new file mode 100644 index 0000000..2669903 --- /dev/null +++ b/home-manager/keepassxc.nix @@ -0,0 +1,42 @@ +{config, ...}: { + home.file.keepassxc = { + target = ".var/app/org.keepassxc.KeePassXC/config/keepassxc/keepassxc.ini"; + # TODO is there a better way? + source = config.lib.file.mkOutOfStoreSymlink config.xdg.configHome + /keepassxc/keepassxc.ini; + }; + + programs.keepassxc.enable = true; + programs.keepassxc.package = null; # Flatpak + programs.keepassxc.settings = { + General = { + MinimizeAfterUnlock = true; + OpenPreviousDatabasesOnStartup = false; + RememberLastDatabases = false; + RememberLastKeyFiles = false; + MinimizeOnCopy = true; + }; + GUI = { + CompactMode = true; + MonospaceNotes = true; + CheckForUpdates = false; + ColorPasswords = true; + }; + PasswordGenerator = { + AdvancedMode = true; + Length = 64; + }; + Browser = { + Enabled = true; + BestMatchOnly = true; + }; + SSHAgent = { + Enabled = true; + # TODO get runtime dir dynamically + AuthSockOverride = "/run/user/1000/gnupg/S.gpg-agent.ssh"; + }; + Security = { + IconDownloadFallback = true; + LockDatabaseScreenLock = false; + }; + }; +}