diff --git a/hosts/macos/modules.nix b/hosts/macos/modules.nix index 0193607..8edb978 100644 --- a/hosts/macos/modules.nix +++ b/hosts/macos/modules.nix @@ -4,6 +4,6 @@ # Enpty file for future imports imports = [ ../../modules/macos/ollama.nix - (import ../../modules/common/ai.nix { inherit pkgs; }) + ../../modules/common/ai.nix ]; } diff --git a/hosts/nixos/configuration.nix b/hosts/nixos/configuration.nix index 7ba40ae..fca44ac 100644 --- a/hosts/nixos/configuration.nix +++ b/hosts/nixos/configuration.nix @@ -92,6 +92,7 @@ playerctl # Nvidia packages + nvtopPackages.nvidia # Video accel libva libva-utils diff --git a/hosts/nixos/modules.nix b/hosts/nixos/modules.nix index 6997cb0..e5e2e45 100644 --- a/hosts/nixos/modules.nix +++ b/hosts/nixos/modules.nix @@ -12,6 +12,6 @@ ../../modules/nixos/gamming/steam.nix # For Steam/Proton/Lutris/MangoHUD/Heroic/Bottles ../../modules/common/spotify.nix # Spotify/Spicetify ../../modules/common/ssh.nix - (import ../../modules/common/ai.nix { inherit pkgs; }) + ../../modules/common/ai.nix ]; } diff --git a/modules/common/ai.nix b/modules/common/ai.nix index d91f412..e56d747 100644 --- a/modules/common/ai.nix +++ b/modules/common/ai.nix @@ -1,14 +1,18 @@ -{ pkgs, ... }: +{ pkgs, lib, config, ... }: let - # Détection simple du GPU pour choisir le package Ollama + + hasNvidiaGpu = config.hardware.nvidia.package or null != null; + gpu = - if builtins.hasAttr "nvidia" pkgs then + if hasNvidiaGpu then pkgs.ollama-cuda else if builtins.hasAttr "vulkan" pkgs then pkgs.ollama-vulkan - else if builtins.hasAttr "rocm" pkgs then + else if builtins.hasAttr "amd" pkgs then pkgs.ollama-rocm + else if pkgs.stdenv.isDarwin then + pkgs.ollama # Ollama uses Metal by default else pkgs.ollama; # CPU fallback in