aboutsummaryrefslogtreecommitdiff
path: root/modules/lazygit.nix
diff options
context:
space:
mode:
authorStefan Weigl-Bosker <stefan@s00.xyz>2025-04-04 18:35:54 -0400
committerStefan Weigl-Bosker <stefan@s00.xyz>2025-04-04 18:35:54 -0400
commit2dccaa26240c1a1e0a608dadadb6d5391292495b (patch)
tree1b1e5537e85a3bb721e56223923da278f3307770 /modules/lazygit.nix
parentf1150b73ebaae94c83d15e9def14acf0bbe704d5 (diff)
downloadhome-2dccaa26240c1a1e0a608dadadb6d5391292495b.tar.gz
git and lazygit
Diffstat (limited to 'modules/lazygit.nix')
-rw-r--r--modules/lazygit.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/modules/lazygit.nix b/modules/lazygit.nix
new file mode 100644
index 0000000..855a985
--- /dev/null
+++ b/modules/lazygit.nix
@@ -0,0 +1,64 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.modules.lazygit;
+in
+{
+ options.modules.lazygit = {
+ enable = lib.mkEnableOption "lazygit";
+ };
+
+ config = lib.mkIf cfg.enable {
+ programs.lazygit = {
+ enable = true;
+ settings = {
+ keybinding = {
+ universal = {
+ "prevItem-alt" = "e";
+ "nextItem-alt" = "n";
+ "prevBlock-alt" = "m";
+ "nextBlock-alt" = "i";
+ "scollUpMain-alt1" = "E";
+ "scollDownMain-alt1" = "N";
+ nextMatch = "j";
+ prevMatch = "J";
+ new = "j";
+ edit = "k";
+ createRebaseOptionsMenu = "h";
+ };
+ files = {
+ ignoreFile = "l";
+ };
+ branches = {
+ viewGitFlowOptions = "l";
+ };
+ commits = {
+ startInteractiveRebase = "u";
+ };
+ };
+ gui= {
+ notARepository = "skip";
+ mouseEvents = false;
+ showRandomTip = false;
+ border = "hidden";
+ theme = {
+ # activeBorderColor = [ "#8f8aac" "bold" ];
+ activeBorderColor = [ "#8f8aac" "bold" ];
+ inactiveBorderColor = [ "#4c4c4c" ];
+ searchingActiveBorderColor = [ "#ceb188" ];
+ optionsTextColor = [ "#8f8aac" ];
+ selectedLineBgColor = [ "#262626" ];
+ cherryPickedCommitBgColor = [ "#4c4c4c" ];
+ cherryPickedCommitFgColor = [ "#8f8aac" ];
+ markedBaseCommitFgColor = [ "#8f8aac" ];
+ unstagedChangesColor = [ "#ac8a8c" ];
+ defaultFgColor = [ "#cacaca" ];
+ };
+ git = {
+ paging.useConfig = true;
+ parseEmoji = true;
+ };
+ };
+ };
+ };
+ };
+}