37 lines
823 B
Nix
37 lines
823 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
cfg = config.hive.jj;
|
|
in {
|
|
options.hive.jj = {
|
|
enable = lib.mkEnableOption "Enable jj vcs";
|
|
followGit = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Follow the current git configuration";
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
home.packages = with pkgs; [
|
|
jujutsu
|
|
];
|
|
|
|
programs.jujutsu = {
|
|
enable = true;
|
|
settings = {
|
|
user = lib.optionalAttrs cfg.followGit {
|
|
name = config.programs.git.userName;
|
|
email = config.programs.git.userEmail;
|
|
};
|
|
ui = lib.optionalAttrs (cfg.followGit && config.programs.git.difftastic.enable) {
|
|
diff-formatter = ["${pkgs.difftastic}/bin/difft" "--color=always" "$left" "$right"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|