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:
parent
2eed138026
commit
614a5b55bf
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
|
@ -78,6 +78,8 @@
|
|||
|
||||
/modules/programs/keychain.nix @marsam
|
||||
|
||||
/modules/programs/lazygit.nix @kalhauge
|
||||
|
||||
/modules/programs/lesspipe.nix @rycee
|
||||
|
||||
/modules/programs/lf.nix @owm111
|
||||
|
|
|
@ -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'.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 { })
|
||||
|
|
56
modules/programs/lazygit.nix
Normal file
56
modules/programs/lazygit.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue