diff --git a/modules/programs/jujutsu.nix b/modules/programs/jujutsu.nix index 330b7d7f9..7a4a9af3a 100644 --- a/modules/programs/jujutsu.nix +++ b/modules/programs/jujutsu.nix @@ -9,9 +9,14 @@ let cfg = config.programs.jujutsu; tomlFormat = pkgs.formats.toml { }; + packageVersion = lib.getVersion cfg.package; - configDir = if pkgs.stdenv.isDarwin then "Library/Application Support" else config.xdg.configHome; - + # jj v0.29+ deprecated support for "~/Library/Application Support" on Darwin. + configDir = + if pkgs.stdenv.isDarwin && !(lib.versionAtLeast packageVersion "0.29.0") then + "Library/Application Support" + else + config.xdg.configHome; in { meta.maintainers = [ lib.maintainers.shikanime ]; diff --git a/tests/modules/programs/jujutsu/empty-config.nix b/tests/modules/programs/jujutsu/empty-config.nix index d3bd44343..3594574d3 100644 --- a/tests/modules/programs/jujutsu/empty-config.nix +++ b/tests/modules/programs/jujutsu/empty-config.nix @@ -1,7 +1,19 @@ -{ pkgs, ... }: - +{ + config, + lib, + pkgs, + ... +}: let - configDir = if pkgs.stdenv.isDarwin then "Library/Application Support" else ".config"; + cfg = config.programs.jujutsu; + packageVersion = lib.getVersion cfg.package; + + # jj v0.29+ deprecated support for "~/Library/Application Support" on Darwin. + configDir = + if pkgs.stdenv.isDarwin && !(lib.versionAtLeast packageVersion "0.29.0") then + "Library/Application Support" + else + ".config"; in { programs.jujutsu.enable = true; diff --git a/tests/modules/programs/jujutsu/example-config.nix b/tests/modules/programs/jujutsu/example-config.nix index 37705a152..35498315a 100644 --- a/tests/modules/programs/jujutsu/example-config.nix +++ b/tests/modules/programs/jujutsu/example-config.nix @@ -1,7 +1,19 @@ -{ pkgs, config, ... }: - +{ + config, + lib, + pkgs, + ... +}: let - configDir = if pkgs.stdenv.isDarwin then "Library/Application Support" else ".config"; + cfg = config.programs.jujutsu; + packageVersion = lib.getVersion cfg.package; + + # jj v0.29+ deprecated support for "~/Library/Application Support" on Darwin. + configDir = + if pkgs.stdenv.isDarwin && !(lib.versionAtLeast packageVersion "0.29.0") then + "Library/Application Support" + else + ".config"; in { programs.jujutsu = {