depot/third_party/home-manager/modules/programs/gh.nix
Default email a0869759be Project import generated by Copybara.
GitOrigin-RevId: ac319fd3149b23a3ad8ee24cb2def6e67acf194c
2021-07-03 00:36:30 +02:00

55 lines
1.1 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.gh;
in {
meta.maintainers = [ maintainers.gerschtli ];
options.programs.gh = {
enable = mkEnableOption "GitHub CLI tool";
aliases = mkOption {
type = with types; attrsOf str;
default = { };
example = literalExample ''
{
co = "pr checkout";
pv = "pr view";
}
'';
description = ''
Aliases that allow you to create nicknames for gh commands.
'';
};
editor = mkOption {
type = types.str;
default = "";
description = ''
The editor that gh should run when creating issues, pull requests, etc.
If blank, will refer to environment.
'';
};
gitProtocol = mkOption {
type = types.enum [ "https" "ssh" ];
default = "https";
description = ''
The protocol to use when performing Git operations.
'';
};
};
config = mkIf cfg.enable {
home.packages = [ pkgs.gh ];
xdg.configFile."gh/config.yml".text = builtins.toJSON {
inherit (cfg) aliases editor;
git_protocol = cfg.gitProtocol;
};
};
}