lazygit: add module (#1930)

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
This commit is contained in:
Christian Kalhauge 2021-05-01 17:56:19 +02:00 committed by GitHub
parent 2eed138026
commit 614a5b55bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 69 additions and 0 deletions

2
.github/CODEOWNERS vendored
View file

@ -78,6 +78,8 @@
/modules/programs/keychain.nix @marsam
/modules/programs/lazygit.nix @kalhauge
/modules/programs/lesspipe.nix @rycee
/modules/programs/lf.nix @owm111

View file

@ -116,6 +116,9 @@ in
#
# date --iso-8601=second --universal
#
# On darwin (or BSD like systems) use
#
# date -u +'%Y-%m-%dT%H:%M:%S+00:00'
news.entries = [
{
time = "2017-09-01T10:56:28+00:00";
@ -1936,6 +1939,13 @@ in
A new service is available: 'services.barrier'.
'';
}
{
time = "2021-05-01T15:16:08+00:00";
message = ''
A new module is available: 'programs.lazygit'.
'';
}
];
};
}

View file

@ -85,6 +85,7 @@ let
(loadModule ./programs/kakoune.nix { })
(loadModule ./programs/keychain.nix { })
(loadModule ./programs/kitty.nix { })
(loadModule ./programs/lazygit.nix { })
(loadModule ./programs/lesspipe.nix { })
(loadModule ./programs/lf.nix { })
(loadModule ./programs/lsd.nix { })

View file

@ -0,0 +1,56 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.lazygit;
yamlFormat = pkgs.formats.yaml { };
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in {
meta.maintainers = [ maintainers.kalhauge ];
options.programs.lazygit = {
enable = mkEnableOption "lazygit, a simple terminal UI for git commands";
settings = mkOption {
type = yamlFormat.type;
default = { };
defaultText = literalExample "{ }";
example = literalExample ''
{
gui.theme = {
lightTheme = true;
activeBorderColor = [ "blue" "bold" ];
inactiveBorderColor = [ "black" ];
selectedLineBgColor = [ "default" ];
};
}
'';
description = ''
Configuration written to
<filename>~/.config/lazygit/config.yml</filename> on Linux
or <filename>~/Library/Application Support/lazygit/config.yml</filename> on Darwin. See
<link xlink:href="https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md"/>
for supported values.
'';
};
};
config = mkIf cfg.enable {
home.packages = [ pkgs.lazygit ];
home.file."Library/Application Support/lazygit/config.yml" =
mkIf (cfg.settings != { } && isDarwin) {
source = yamlFormat.generate "lazygit-config" cfg.settings;
};
xdg.configFile."lazygit/config.yml" =
mkIf (cfg.settings != { } && !isDarwin) {
source = yamlFormat.generate "lazygit-config" cfg.settings;
};
};
}