From 0ad475e6bfda3cee1fc29aa02ea51765c3096068 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Thu, 16 Jan 2025 21:03:29 -0300 Subject: [PATCH] fix(neovim): make ollama optional --- flake.nix | 6 +++- .../home-manager/programs/neovim/default.nix | 32 ++++++++++++------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/flake.nix b/flake.nix index caaf3d0..cea4163 100644 --- a/flake.nix +++ b/flake.nix @@ -25,7 +25,11 @@ }; outputs = - { home-manager, nixpkgs, ... }@inputs: + { + home-manager, + nixpkgs, + ... + }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; diff --git a/modules/home-manager/programs/neovim/default.nix b/modules/home-manager/programs/neovim/default.nix index c3488e3..45132f7 100644 --- a/modules/home-manager/programs/neovim/default.nix +++ b/modules/home-manager/programs/neovim/default.nix @@ -6,14 +6,21 @@ }: let - inherit (lib) types mkOption; - ollamaPackage = + inherit (lib) + types + mkOption + mkIf + mkEnableOption + ; + + ollamaPackage = mkIf config.programs.neovim.ollama.enable ( if config.programs.neovim.ollama.type == "amd" then pkgs.ollama-rocm else if config.programs.neovim.ollama.type == "nvidia" then pkgs.ollama-cuda else - pkgs.ollama; + pkgs.ollama + ); in { options.programs.neovim = { @@ -33,14 +40,17 @@ in }; }; - ollama.type = mkOption { - default = "amd"; - description = "The type of ollama package to install, AMD GPU accelerated or NVIDIA GPU accelerated."; - example = "amd"; - type = types.enum [ - "amd" - "nvidia" - ]; + ollama = { + enable = mkEnableOption "enable"; + type = mkOption { + default = "amd"; + description = "The type of ollama package to install, AMD GPU accelerated or NVIDIA GPU accelerated."; + example = "amd"; + type = types.enum [ + "amd" + "nvidia" + ]; + }; }; };