{pkgs, ...}: { home.packages = with pkgs; [ curl dig fzf git gnutar gnumake gnused gcc ripgrep silver-searcher tree-sitter ]; programs = { neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; vimdiffAlias = true; withNodeJs = true; withRuby = true; withPython3 = true; extraPackages = with pkgs; [ # Language servers nil lua-language-server fortls nodePackages.pyright nodePackages.yaml-language-server nodePackages.vim-language-server nodePackages.bash-language-server # Null LSP formatters alejandra beautysh black nodePackages.fixjson fprettify isort python3Packages.mdformat shellharden stylua ]; }; lazygit = { enable = true; settings = { gui = { showFileTree = true; showCommandLog = false; showIcons = true; theme = { lightTheme = false; activeBorderColor = ["#a6da95" "bold"]; inactiveBorderColor = ["#cad3f5"]; optionsTextColor = ["#8aadf4"]; selectedLineBgColor = ["#363a4f"]; selectedRangeBgColor = ["#363a4f"]; cherryPickedCommitBgColor = ["#8bd5ca"]; cherryPickedCommitFgColor = ["#8aadf4"]; unstagedChangesColor = ["red"]; }; }; update.method = "never"; promptToReturnFromSubprocess = false; notARepository = "quit"; }; }; bat = { enable = true; config = { theme = "tokyonight"; }; themes = { tokyonight = builtins.readFile (pkgs.fetchFromGitHub { owner = "folke"; repo = "tokyonight.nvim"; rev = "cd5156f4b4a6c4c337a46deb0c0bd37319920833"; sha256 = "/ht+ixR1eyYR0la00Xq5q1gCsgb5Ly90JghERwbaDPQ="; } + "/extras/sublime/tokyonight_night.tmTheme"); Catppuccin-macchiato = builtins.readFile (pkgs.fetchFromGitHub { owner = "catppuccin"; repo = "bat"; rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1"; sha256 = "6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw="; } + "/Catppuccin-macchiato.tmTheme"); }; }; }; }