diff options
Diffstat (limited to 'modules/development')
| -rw-r--r-- | modules/development/lazygit/default.nix | 143 | ||||
| -rw-r--r-- | modules/development/opencode/default.nix | 49 |
2 files changed, 97 insertions, 95 deletions
diff --git a/modules/development/lazygit/default.nix b/modules/development/lazygit/default.nix index 1e83ed0..c2e6be8 100644 --- a/modules/development/lazygit/default.nix +++ b/modules/development/lazygit/default.nix @@ -21,79 +21,80 @@ in description = "The lazygit package to use."; }; }; - config = { - home.file.".local/share/icons/hicolor/scalable/apps/git.svg" = - lib.mkIf config.development.lazygit.enable - { - source = ../../../assets/icons/apps/git.svg; - }; - - xdg.desktopEntries."lazygit" = lib.mkIf config.development.lazygit.enable { - name = "lazygit"; - exec = "${lib.getExe config.terminal.kitty.package} --class lazygit -e ${lib.getExe config.development.lazygit.package}"; - icon = "git"; - categories = [ "Development" ]; - comment = "A simple terminal UI for git commands"; - terminal = false; - type = "Application"; - }; - - programs.lazygit = lib.mkIf config.development.lazygit.enable { - enable = true; - enableBashIntegration = false; - enableZshIntegration = config.terminal.zsh.enable; - settings = { - gui = with base16Colors.colorsWithHashPrefix; { - theme = { - lightTheme = false; - activeBorderColor = [ - base0D - "bold" - ]; - inactiveBorderColor = [ base03 ]; - optionsTextColor = [ base0D ]; - selectedLineBgColor = [ base01 ]; - selectedRangeBgColor = [ base01 ]; - cherryPickedCommitBgColor = [ base0C ]; - cherryPickedCommitFgColor = [ base0D ]; - markedBaseCommitBgColor = [ base0A ]; - markedBaseCommitFgColor = [ base0D ]; - unstagedChangesColor = [ base08 ]; - defaultFgColor = [ base05 ]; - searchingActiveBorderColor = [ - base0A - "bold" - ]; + config = lib.mkMerge [ + (lib.mkIf config.development.lazygit.enable { + programs.lazygit = { + enable = true; + enableBashIntegration = false; + enableZshIntegration = config.terminal.zsh.enable; + settings = { + gui = with base16Colors.colorsWithHashPrefix; { + theme = { + lightTheme = false; + activeBorderColor = [ + base0D + "bold" + ]; + inactiveBorderColor = [ base03 ]; + optionsTextColor = [ base0D ]; + selectedLineBgColor = [ base01 ]; + selectedRangeBgColor = [ base01 ]; + cherryPickedCommitBgColor = [ base0C ]; + cherryPickedCommitFgColor = [ base0D ]; + markedBaseCommitBgColor = [ base0A ]; + markedBaseCommitFgColor = [ base0D ]; + unstagedChangesColor = [ base08 ]; + defaultFgColor = [ base05 ]; + searchingActiveBorderColor = [ + base0A + "bold" + ]; + }; + authorColors = { + "*" = base0E; + }; + branchColors = { + "master" = base08; + "main" = base08; + }; + showIcons = true; + scrollHeight = 2; + nerdFontsVersion = "3"; + scrollPastBottom = true; + mouseEvents = true; + border = "single"; + commitHashLength = 4; + showBranchCommitHash = true; + showDivergenceFromBaseBranch = "arrowAndNumber"; + autoFetch = false; }; - authorColors = { - "*" = base0E; - }; - branchColors = { - "master" = base08; - "main" = base08; + git = { + overrideGpg = config.security.gpg.enable; + diffRenderers = lib.mkIf config.development.delta.enable [ + { + colorArg = "always"; + command = "delta --paging=never {{diffArgs}}"; + } + ]; }; - showIcons = true; - scrollHeight = 2; - nerdFontsVersion = "3"; - scrollPastBottom = true; - mouseEvents = true; - border = "single"; - commitHashLength = 4; - showBranchCommitHash = true; - showDivergenceFromBaseBranch = "arrowAndNumber"; - autoFetch = false; + update.method = "never"; }; - git = { - overrideGpg = config.security.gpg.enable; - diffRenderers = lib.mkIf config.development.delta.enable [ - { - colorArg = "always"; - command = "delta --paging=never {{diffArgs}}"; - } - ]; - }; - update.method = "never"; }; - }; - }; + + home.file.".local/share/icons/hicolor/scalable/apps/git.svg" = { + source = ../../../assets/icons/apps/git.svg; + }; + }) + (lib.mkIf (config.development.lazygit.enable && config.terminal.kitty.enable) { + xdg.desktopEntries."lazygit" = { + name = "lazygit"; + exec = "${lib.getExe config.terminal.kitty.package} --class lazygit -e ${lib.getExe config.development.lazygit.package}"; + icon = "git"; + categories = [ "Development" ]; + comment = "A simple terminal UI for git commands"; + terminal = false; + type = "Application"; + }; + }) + ]; } diff --git a/modules/development/opencode/default.nix b/modules/development/opencode/default.nix index 04796d9..011582e 100644 --- a/modules/development/opencode/default.nix +++ b/modules/development/opencode/default.nix @@ -16,30 +16,31 @@ }; }; - config = lib.mkIf config.development.opencode.enable { - home.file.".local/share/icons/hicolor/scalable/apps/opencode.svg" = - lib.mkIf config.development.opencode.enable - { - source = ../../../assets/icons/apps/opencode.svg; - }; + config = lib.mkMerge [ + (lib.mkIf config.development.opencode.enable { + home.file.".local/share/icons/hicolor/scalable/apps/opencode.svg" = { + source = ../../../assets/icons/apps/opencode.svg; + }; - xdg.desktopEntries."opencode" = { - name = "opencode"; - exec = "${lib.getExe config.terminal.kitty.package} --class opencode -e ${lib.getExe config.development.opencode.package}"; - icon = "opencode"; - categories = [ "Development" ]; - comment = "AI-powered coding assistant"; - terminal = false; - type = "Application"; - }; - - programs.opencode = { - enable = true; - package = pkgs.opencode; - }; + programs.opencode = { + enable = true; + package = pkgs.opencode; + }; + }) + (lib.mkIf (config.development.opencode.enable && config.terminal.kitty.enable) { + xdg.desktopEntries."opencode" = { + name = "opencode"; + exec = "${lib.getExe config.terminal.kitty.package} --class opencode -e ${lib.getExe config.development.opencode.package}"; + icon = "opencode"; + categories = [ "Development" ]; + comment = "AI-powered coding assistant"; + terminal = false; + type = "Application"; + }; - xdg.mimeApps.defaultApplications = { - "x-scheme-handler/opencode" = "opencode.desktop"; - }; - }; + xdg.mimeApps.defaultApplications = { + "x-scheme-handler/opencode" = "opencode.desktop"; + }; + }) + ]; } |
