1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-22 10:19:39 +01:00

direnv: fix silent option after update to direnv v2.36.0

see https://github.com/direnv/direnv/issues/68 (bottom of thread)
This commit is contained in:
Marius Niveri 2025-04-14 18:28:55 +02:00 committed by Austin Horstman
parent 5a096a8822
commit ae5fcad746

View file

@ -118,11 +118,26 @@ in
silent = mkEnableOption "silent mode, that is, disabling direnv logging";
};
config = mkIf cfg.enable {
config =
let
packageVersion = lib.getVersion cfg.package;
isVersion236orHigher = lib.versionAtLeast packageVersion "2.36.0";
in
mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."direnv/direnv.toml" = mkIf (cfg.config != { }) {
source = tomlFormat.generate "direnv-config" cfg.config;
xdg.configFile."direnv/direnv.toml" =
mkIf (cfg.config != { } || (cfg.silent && isVersion236orHigher))
{
source = tomlFormat.generate "direnv-config" (
cfg.config
// lib.optionalAttrs (cfg.silent && isVersion236orHigher) {
global = {
log_format = "-";
log_filter = "^$";
};
}
);
};
xdg.configFile."direnv/lib/hm-nix-direnv.sh" = mkIf cfg.nix-direnv.enable {