{ pkgs, config, lib, ... }: let cfg = config.py.programs.neovim; in { options.py.programs.neovim.enable = lib.mkEnableOption "Neovim Configuration"; config.programs.neovim = lib.mkIf cfg.enable { enable = true; viAlias = true; vimAlias = true; vimdiffAlias = true; withRuby = false; withNodeJs = false; withPython3 = false; extraPackages = [ pkgs.bottom pkgs.fd pkgs.gcc pkgs.go pkgs.nodejs ] ++ lib.optionals config.py.profiles.gui.enable [ pkgs.ffmpegthumbnailer pkgs.fontpreview pkgs.poppler pkgs.ueberzug ]; }; }