Files
nixpkgs/pkgs/by-name/ot/oterm/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

79 lines
1.5 KiB
Nix

{
lib,
stdenv,
python3Packages,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
python3Packages.buildPythonApplication rec {
pname = "oterm";
version = "0.14.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ggozad";
repo = "oterm";
tag = version;
hash = "sha256-zTRCAg5BjwdP2s1LZrOjLctqYe/jX4Mc3gK+IwVoLR4=";
};
pythonRelaxDeps = [
"aiosql"
"aiosqlite"
"httpx"
"ollama"
"packaging"
"pillow"
"pydantic"
"textual"
"typer"
"fastmcp"
];
build-system = with python3Packages; [ hatchling ];
dependencies = with python3Packages; [
aiohttp
aiosql
aiosqlite
fastmcp
httpx
mcp
ollama
packaging
pillow
pyperclip
python-dotenv
rich-pixels
textual
textual-image
textualeffects
typer
];
pythonImportsCheck = [ "oterm" ];
# Python tests require a HTTP connection to ollama
# Fails on darwin with: PermissionError: [Errno 1] Operation not permitted: '/var/empty/Library'
nativeCheckInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [
versionCheckHook
];
versionCheckProgramArg = "--version";
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Text-based terminal client for Ollama";
homepage = "https://github.com/ggozad/oterm";
changelog = "https://github.com/ggozad/oterm/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ gaelj ];
mainProgram = "oterm";
};
}