nixos/lazygit: init

Update nixos/modules/programs/lazygit.nix

Co-authored-by: Aleksana <alexander.huang.y@gmail.com>

Update nixos/modules/programs/lazygit.nix

Co-authored-by: Aleksana <alexander.huang.y@gmail.com>

linsui 89db988e 4ab65fb8

Changed files
+38
nixos
modules
+1
nixos/modules/module-list.nix
···
./programs/kbdlight.nix
./programs/kclock.nix
./programs/kdeconnect.nix
./programs/less.nix
./programs/liboping.nix
./programs/light.nix
···
./programs/kbdlight.nix
./programs/kclock.nix
./programs/kdeconnect.nix
+
./programs/lazygit.nix
./programs/less.nix
./programs/liboping.nix
./programs/light.nix
+37
nixos/modules/programs/lazygit.nix
···
···
+
{ config, lib, pkgs, ... }:
+
+
let
+
cfg = config.programs.lazygit;
+
+
settingsFormat = pkgs.formats.yaml { };
+
in
+
{
+
options.programs.lazygit = {
+
enable = lib.mkEnableOption "lazygit, a simple terminal UI for git commands";
+
+
package = lib.mkPackageOption pkgs "lazygit" { };
+
+
settings = lib.mkOption {
+
inherit (settingsFormat) type;
+
default = { };
+
description = ''
+
Lazygit configuration.
+
+
See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md for documentation.
+
'';
+
};
+
};
+
+
config = lib.mkIf cfg.enable {
+
environment = {
+
systemPackages = [ cfg.package ];
+
etc = lib.mkIf (cfg.settings != { }) {
+
"xdg/lazygit/config.yml".source = settingsFormat.generate "lazygit-config.yml" cfg.settings;
+
};
+
};
+
};
+
+
meta = {
+
maintainers = with lib.maintainers; [ linsui ];
+
};
+
}