PortValhalla/lib/modules/programs/git.nix

49 lines
1.1 KiB
Nix

{ lib, ... }:
let
inherit (lib) mkEnableOption mkOption types;
gitOption = {
enable = mkEnableOption "git";
defaultBranch = mkOption {
type = types.nullOr types.str;
description = "The name of the default branch in newly created repositories.";
default = null;
};
flow = {
mainBranch = mkOption {
type = types.nullOr types.str;
description = "The name of the stable branch in git flow.";
default = null;
};
devBranch = mkOption {
type = types.nullOr types.str;
description = "The name of the development branch in git flow.";
default = null;
};
};
aliases = mkOption {
type = types.attrsOf types.str;
description = "The git command aliases to install.";
default = { };
};
};
in {
options = {
valhalla = {
programs.git = gitOption;
users = mkOption {
type = types.attrsOf (types.submodule (
{ ... }: {
options = {
programs.git = gitOption;
};
}));
};
};
};
}