feat: Changes to steamdeck configs

This commit is contained in:
uttarayan21
2025-05-04 02:19:14 +05:30
parent 3a2b8f079c
commit 90fb9bcc6b
6 changed files with 9 additions and 4 deletions

98
modules/macos/ollama.nix Normal file
View File

@@ -0,0 +1,98 @@
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.services.ollama;
in {
options = {
services.ollama = {
enable = mkEnableOption "Ollama AI model runner";
package = mkOption {
type = types.package;
default = pkgs.ollama;
defaultText = literalExpression "pkgs.ollama";
description = "The ollama package to use.";
};
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = "The host address to listen on.";
};
port = mkOption {
type = types.port;
default = 11434;
description = "The port to listen on.";
};
environmentVariables = mkOption {
type = types.attrs;
default = {};
description = "Environment variables to set for the Ollama service.";
};
loadModels = mkOption {
type = types.listOf types.str;
default = [];
description = "List of models to load on startup.";
};
dataDir = mkOption {
type = types.path;
default = "/var/lib/ollama";
description = "Directory to store Ollama data.";
};
};
};
config = mkIf cfg.enable {
# users.users.ollama = {
# name = "ollama";
# uid = 601;
# gid = config.users.groups.ollama.gid;
# home = cfg.dataDir;
# createHome = true;
# description = "Ollama service user";
# };
#
# users.groups.ollama = {
# name = "ollama";
# gid = 602;
# };
launchd.daemons.ollama = {
path = [cfg.package];
command = "${cfg.package}/bin/ollama serve";
serviceConfig = {
Label = "com.ollama.service";
# ProgramArguments = ["serve"];
# WorkingDirectory = cfg.dataDir;
EnvironmentVariables =
{
OLLAMA_HOST = cfg.host;
OLLAMA_PORT = toString cfg.port;
}
// cfg.environmentVariables;
RunAtLoad = true;
KeepAlive = true;
# StandardOutPath = "/var/log/ollama.log";
# StandardErrorPath = "/var/log/ollama.error.log";
# UserName = "ollama";
# GroupName = "ollama";
};
};
# system.activationScripts.preActivation.text = mkIf (cfg.loadModels != []) ''
# # Load Ollama models
# ${concatMapStrings (model: ''
# ${cfg.package}/bin/ollama pull ${model}
# '')
# cfg.loadModels}
# '';
};
}