rebuilding nix files
This commit is contained in:
+315
-311
File diff suppressed because it is too large
Load Diff
@@ -1649,16 +1649,20 @@ let
|
|||||||
# Path to environment file
|
# Path to environment file
|
||||||
AiRepoEnv = flakeRoot + "/assets/conf/apps/ai/ai.env";
|
AiRepoEnv = flakeRoot + "/assets/conf/apps/ai/ai.env";
|
||||||
|
|
||||||
# Simple, reliable way to parse key=value pairs
|
# Environment file parser
|
||||||
parseEnv = lines:
|
parseEnv = lines:
|
||||||
lib.foldl' (acc: line:
|
lib.foldl' (acc: line:
|
||||||
let
|
let
|
||||||
trimmed = builtins.trim line;
|
trimmed = builtins.trim line;
|
||||||
parts = builtins.split "=" trimmed;
|
|
||||||
in
|
in
|
||||||
if trimmed == "" || (builtins.stringLength trimmed) > 0 && (builtins.substr 0 1 trimmed) == "#"
|
if trimmed == "" || (builtins.stringLength trimmed) > 0 && (builtins.substr 0 1 trimmed) == "#"
|
||||||
then acc
|
then acc
|
||||||
else builtins.add (builtins.elemAt parts 0) (builtins.elemAt parts 1) acc
|
else
|
||||||
|
let parts = builtins.split "=" trimmed;
|
||||||
|
in
|
||||||
|
if builtins.length parts >= 2
|
||||||
|
then builtins.add (builtins.elemAt parts 0) (builtins.elemAt parts 1) acc
|
||||||
|
else acc
|
||||||
) { } (builtins.split "\n" (builtins.readFile (toString AiRepoEnv)));
|
) { } (builtins.split "\n" (builtins.readFile (toString AiRepoEnv)));
|
||||||
|
|
||||||
envVars = parseEnv;
|
envVars = parseEnv;
|
||||||
@@ -1676,11 +1680,11 @@ in
|
|||||||
MISTRAL_API_KEY = envVars.MISTRAL_API_KEY or "";
|
MISTRAL_API_KEY = envVars.MISTRAL_API_KEY or "";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure Ollama service
|
# Configure Ollama service with explicit type declarations
|
||||||
systemd.user.services.ollama = {
|
systemd.user.services.ollama = {
|
||||||
description = "Ollama service for local AI models";
|
description = "Ollama service for local AI models";
|
||||||
wantedBy = [ "default.target" ];
|
wantedBy = [ "default.target" ];
|
||||||
after = [ "network.target" ]; # Fixed: This is already correct as a list of strings
|
after = lib.mkForce [ "network.target" ]; # Explicitly force as a list
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "forking";
|
Type = "forking";
|
||||||
|
|||||||
@@ -4,16 +4,20 @@ let
|
|||||||
# Path to environment file
|
# Path to environment file
|
||||||
AiRepoEnv = flakeRoot + "/assets/conf/apps/ai/ai.env";
|
AiRepoEnv = flakeRoot + "/assets/conf/apps/ai/ai.env";
|
||||||
|
|
||||||
# Simple, reliable way to parse key=value pairs
|
# Environment file parser
|
||||||
parseEnv = lines:
|
parseEnv = lines:
|
||||||
lib.foldl' (acc: line:
|
lib.foldl' (acc: line:
|
||||||
let
|
let
|
||||||
trimmed = builtins.trim line;
|
trimmed = builtins.trim line;
|
||||||
parts = builtins.split "=" trimmed;
|
|
||||||
in
|
in
|
||||||
if trimmed == "" || (builtins.stringLength trimmed) > 0 && (builtins.substr 0 1 trimmed) == "#"
|
if trimmed == "" || (builtins.stringLength trimmed) > 0 && (builtins.substr 0 1 trimmed) == "#"
|
||||||
then acc
|
then acc
|
||||||
else builtins.add (builtins.elemAt parts 0) (builtins.elemAt parts 1) acc
|
else
|
||||||
|
let parts = builtins.split "=" trimmed;
|
||||||
|
in
|
||||||
|
if builtins.length parts >= 2
|
||||||
|
then builtins.add (builtins.elemAt parts 0) (builtins.elemAt parts 1) acc
|
||||||
|
else acc
|
||||||
) { } (builtins.split "\n" (builtins.readFile (toString AiRepoEnv)));
|
) { } (builtins.split "\n" (builtins.readFile (toString AiRepoEnv)));
|
||||||
|
|
||||||
envVars = parseEnv;
|
envVars = parseEnv;
|
||||||
@@ -31,11 +35,11 @@ in
|
|||||||
MISTRAL_API_KEY = envVars.MISTRAL_API_KEY or "";
|
MISTRAL_API_KEY = envVars.MISTRAL_API_KEY or "";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure Ollama service
|
# Configure Ollama service with explicit type declarations
|
||||||
systemd.user.services.ollama = {
|
systemd.user.services.ollama = {
|
||||||
description = "Ollama service for local AI models";
|
description = "Ollama service for local AI models";
|
||||||
wantedBy = [ "default.target" ];
|
wantedBy = [ "default.target" ];
|
||||||
after = [ "network.target" ]; # Fixed: This is already correct as a list of strings
|
after = lib.mkForce [ "network.target" ]; # Explicitly force as a list
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "forking";
|
Type = "forking";
|
||||||
|
|||||||
Reference in New Issue
Block a user