Compare commits
4 Commits
6946b97ae1
...
3a4613d033
Author | SHA1 | Date | |
---|---|---|---|
3a4613d033 | |||
317d838075 | |||
![]() |
b5dc318f23 | ||
![]() |
522f2e5750 |
2
.github/workflows/hosts.yml
vendored
2
.github/workflows/hosts.yml
vendored
@ -28,7 +28,7 @@ jobs:
|
|||||||
ref: ${{ github.head_ref }}
|
ref: ${{ github.head_ref }}
|
||||||
|
|
||||||
- name: Install nix
|
- name: Install nix
|
||||||
uses: nixbuild/nix-quick-install-action@v26
|
uses: nixbuild/nix-quick-install-action@v27
|
||||||
with:
|
with:
|
||||||
load_nixConfig: false
|
load_nixConfig: false
|
||||||
nix_conf: |
|
nix_conf: |
|
||||||
|
4
.github/workflows/iso.yml
vendored
4
.github/workflows/iso.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
|||||||
ref: ${{ github.head_ref }}
|
ref: ${{ github.head_ref }}
|
||||||
|
|
||||||
- name: Install nix
|
- name: Install nix
|
||||||
uses: nixbuild/nix-quick-install-action@v26
|
uses: nixbuild/nix-quick-install-action@v27
|
||||||
with:
|
with:
|
||||||
load_nixConfig: false
|
load_nixConfig: false
|
||||||
nix_conf: |
|
nix_conf: |
|
||||||
@ -40,7 +40,7 @@ jobs:
|
|||||||
run: nix build .#Flakes-ISO
|
run: nix build .#Flakes-ISO
|
||||||
|
|
||||||
- name: Push ISO to artifacts
|
- name: Push ISO to artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: nix-flakes.iso.zip
|
name: nix-flakes.iso.zip
|
||||||
path: result/iso/*.iso
|
path: result/iso/*.iso
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
customProfiles.nicotine
|
customProfiles.nicotine
|
||||||
customProfiles.sunshine
|
customProfiles.sunshine
|
||||||
customProfiles.wine-games
|
customProfiles.wine-games
|
||||||
|
|
||||||
|
customProfiles.ollama
|
||||||
];
|
];
|
||||||
|
|
||||||
security.pki.certificateFiles = [ ../../misc/mitmproxy-ca-cert.pem ];
|
security.pki.certificateFiles = [ ../../misc/mitmproxy-ca-cert.pem ];
|
||||||
|
@ -111,14 +111,14 @@ in {
|
|||||||
startAt = cfg.cache.clean.dates;
|
startAt = cfg.cache.clean.dates;
|
||||||
};
|
};
|
||||||
|
|
||||||
system.activationScripts = {
|
# system.activationScripts = {
|
||||||
homedir.text = builtins.concatStringsSep "\n" (map (dir: ''
|
# homedir.text = builtins.concatStringsSep "\n" (map (dir: ''
|
||||||
mkdir -p ${cfg.persistRoot}${dir}
|
# mkdir -p ${cfg.persistRoot}${dir}
|
||||||
chown ${config.mainuser}:users ${cfg.persistRoot}${dir}
|
# chown ${config.mainuser}:users ${cfg.persistRoot}${dir}
|
||||||
'') (
|
# '') (
|
||||||
(builtins.filter (lib.hasPrefix cfg.homeDir) allDirectories)
|
# (builtins.filter (lib.hasPrefix cfg.homeDir) allDirectories)
|
||||||
++ absoluteHomePath allHomeDirectories
|
# ++ absoluteHomePath allHomeDirectories
|
||||||
));
|
# ));
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
61
profiles/servers/ollama.nix
Normal file
61
profiles/servers/ollama.nix
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
gpu = config.deviceSpecific.devInfo.gpu.vendor;
|
||||||
|
in {
|
||||||
|
services.ollama = {
|
||||||
|
enable = true;
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 11434;
|
||||||
|
sandbox = false;
|
||||||
|
acceleration =
|
||||||
|
if gpu == "amd" then
|
||||||
|
"rocm"
|
||||||
|
else if gpu == "nvidia" then
|
||||||
|
"cuda"
|
||||||
|
else false;
|
||||||
|
openFirewall = false;
|
||||||
|
environmentVariables = {
|
||||||
|
HSA_OVERRIDE_GFX_VERSION = "10.3.0";
|
||||||
|
OLLAMA_KEEP_ALIVE = "-1";
|
||||||
|
# OLLAMA_LLM_LIBRARY = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.open-webui = {
|
||||||
|
enable = true;
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 8081;
|
||||||
|
openFirewall = false;
|
||||||
|
environment = {
|
||||||
|
ANONYMIZED_TELEMETRY = "False";
|
||||||
|
DO_NOT_TRACK = "True";
|
||||||
|
SCARF_NO_ANALYTICS = "True";
|
||||||
|
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434";
|
||||||
|
# Disable authentication
|
||||||
|
WEBUI_AUTH = "False";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.ollama = { };
|
||||||
|
users.users.ollama = {
|
||||||
|
description = "ollama user";
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "ollama";
|
||||||
|
extraGroups = [ "video" "render" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.ollama.serviceConfig = {
|
||||||
|
DynamicUser = lib.mkForce false;
|
||||||
|
User = "ollama";
|
||||||
|
Group = "ollama";
|
||||||
|
};
|
||||||
|
systemd.services.open-webui.serviceConfig = {
|
||||||
|
DynamicUser = lib.mkForce false;
|
||||||
|
User = "ollama";
|
||||||
|
Group = "ollama";
|
||||||
|
};
|
||||||
|
|
||||||
|
persist.state.directories = [
|
||||||
|
"/var/lib/ollama"
|
||||||
|
"/var/lib/open-webui"
|
||||||
|
];
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user