From 714504ecf6bc1642e7b2a7a20ea8b116db1df17c Mon Sep 17 00:00:00 2001
From: Crony Akatsuki <crony@cronyakatsuki.xyz>
Date: Sun, 6 Apr 2025 19:41:20 +0200
Subject: [PATCH] feat: add ollama.

---
 modules/linux/nixos/default.nix |  2 ++
 modules/linux/nixos/ollama.nix  | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 modules/linux/nixos/ollama.nix

diff --git a/modules/linux/nixos/default.nix b/modules/linux/nixos/default.nix
index 8633d66..11cd280 100644
--- a/modules/linux/nixos/default.nix
+++ b/modules/linux/nixos/default.nix
@@ -22,6 +22,7 @@
     ./tailscale.nix
     ./sunshine.nix
     ./nh.nix
+    ./ollama.nix
   ];
 
   crony.bluetooth.enable = lib.mkDefault true;
@@ -46,4 +47,5 @@
   crony.tailscale.enable = lib.mkDefault true;
   crony.sunshine.enable = lib.mkDefault true;
   crony.nh.enable = lib.mkDefault true;
+  crony.ollama.enable = lib.mkDefault true;
 }
diff --git a/modules/linux/nixos/ollama.nix b/modules/linux/nixos/ollama.nix
new file mode 100644
index 0000000..0e8be5f
--- /dev/null
+++ b/modules/linux/nixos/ollama.nix
@@ -0,0 +1,17 @@
+{
+  config,
+  lib,
+  ...
+}: {
+  options = {
+    crony.ollama.enable = lib.mkEnableOption "Enable and setup ollama";
+  };
+
+  config = lib.mkIf config.crony.ollama.enable {
+    services.ollama = {
+      enable = true;
+      loadModels = ["llama3.2:3b" "deepseek-r1:1.5b"];
+      acceleration = "cuda";
+    };
+  };
+}