gh: add module
This commit is contained in:
parent
308ee310de
commit
22a3a5651d
7 changed files with 93 additions and 0 deletions
53
modules/programs/gh.nix
Normal file
53
modules/programs/gh.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ 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.gitAndTools.gh ];
|
||||
|
||||
xdg.configFile."gh/config.yml".text =
|
||||
builtins.toJSON { inherit (cfg) aliases editor gitProtocol; };
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue