jujutsu: support darwin guidelines for config placement

Follow up to #5207, fixing jujutsu module on darwin targets.

(cherry picked from commit ea72cf548f)
This commit is contained in:
Milo Moisson 2024-07-28 22:54:29 +02:00 committed by Robert Helgesson
parent 849f477e8a
commit 3288b74c61
No known key found for this signature in database
GPG key ID: 96E745BD17AA17ED
3 changed files with 19 additions and 9 deletions

View file

@ -7,6 +7,11 @@ let
cfg = config.programs.jujutsu;
tomlFormat = pkgs.formats.toml { };
configDir = if pkgs.stdenv.isDarwin then
"Library/Application Support"
else
config.xdg.configHome;
in {
meta.maintainers = [ maintainers.shikanime ];
@ -51,7 +56,7 @@ in {
config = mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."jj/config.toml" = mkIf (cfg.settings != { }) {
home.file."${configDir}/jj/config.toml" = mkIf (cfg.settings != { }) {
source = tomlFormat.generate "jujutsu-config" (cfg.settings
// optionalAttrs (cfg.ediff) (let
emacsDiffScript = pkgs.writeShellScriptBin "emacs-ediff" ''

View file

@ -1,11 +1,14 @@
{ ... }:
{ pkgs, ... }:
{
let
configDir =
if pkgs.stdenv.isDarwin then "Library/Application Support" else ".config";
in {
programs.jujutsu.enable = true;
test.stubs.jujutsu = { };
nmt.script = ''
assertPathNotExists home-files/.config/jj/config.toml
assertPathNotExists 'home-files/${configDir}/jj/config.toml'
'';
}

View file

@ -1,6 +1,9 @@
{ config, ... }:
{ pkgs, config, ... }:
{
let
configDir =
if pkgs.stdenv.isDarwin then "Library/Application Support" else ".config";
in {
programs.jujutsu = {
enable = true;
package = config.lib.test.mkStubPackage { };
@ -13,9 +16,8 @@
};
nmt.script = ''
assertFileExists home-files/.config/jj/config.toml
assertFileContent \
home-files/.config/jj/config.toml \
assertFileExists 'home-files/${configDir}/jj/config.toml'
assertFileContent 'home-files/${configDir}/jj/config.toml' \
${
builtins.toFile "expected.toml" ''
[user]