mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 19:49:45 +01:00
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
4 changed files with 69 additions and 0 deletions
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
|
@ -78,6 +78,8 @@
|
||||||
|
|
||||||
/modules/programs/keychain.nix @marsam
|
/modules/programs/keychain.nix @marsam
|
||||||
|
|
||||||
|
/modules/programs/lazygit.nix @kalhauge
|
||||||
|
|
||||||
/modules/programs/lesspipe.nix @rycee
|
/modules/programs/lesspipe.nix @rycee
|
||||||
|
|
||||||
/modules/programs/lf.nix @owm111
|
/modules/programs/lf.nix @owm111
|
||||||
|
|
|
@ -116,6 +116,9 @@ in
|
||||||
#
|
#
|
||||||
# date --iso-8601=second --universal
|
# date --iso-8601=second --universal
|
||||||
#
|
#
|
||||||
|
# On darwin (or BSD like systems) use
|
||||||
|
#
|
||||||
|
# date -u +'%Y-%m-%dT%H:%M:%S+00:00'
|
||||||
news.entries = [
|
news.entries = [
|
||||||
{
|
{
|
||||||
time = "2017-09-01T10:56:28+00:00";
|
time = "2017-09-01T10:56:28+00:00";
|
||||||
|
@ -1936,6 +1939,13 @@ in
|
||||||
A new service is available: 'services.barrier'.
|
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/kakoune.nix { })
|
||||||
(loadModule ./programs/keychain.nix { })
|
(loadModule ./programs/keychain.nix { })
|
||||||
(loadModule ./programs/kitty.nix { })
|
(loadModule ./programs/kitty.nix { })
|
||||||
|
(loadModule ./programs/lazygit.nix { })
|
||||||
(loadModule ./programs/lesspipe.nix { })
|
(loadModule ./programs/lesspipe.nix { })
|
||||||
(loadModule ./programs/lf.nix { })
|
(loadModule ./programs/lf.nix { })
|
||||||
(loadModule ./programs/lsd.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