Compare commits

..

5 Commits

7 changed files with 177 additions and 6 deletions

11
home/sam/bin/task-due-notify.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Query tasks due soon (adjust filters as needed, e.g., due.before:now+1h for 1-hour reminders)
DUE_TASKS=$(task due.before:now+1h status:pending export | jq -r '.[] | .description + " (due: " + .due + ")"')
if [ -n "$DUE_TASKS" ]; then
while IFS= read -r task; do
notify-send "Task Due Soon" "$task" # Local Mako pop-up
curl -d "Task due soon: $task" https://ntfy.lab.audasmedia.com.au/tasks # Remote ntfy.sh (or swap to your Docker URL like http://YOUR_DOCKER_IP:PORT/task_topic)
done <<< "$DUE_TASKS"
fi

View File

@@ -145,21 +145,37 @@ dconf.settings."org/gnome/desktop/interface" = {
# --- # ---
home.packages = with pkgs; [ home.packages = with pkgs; [
# NOT YET INSTALLED
nushell nushell
bun bun
pnpm pnpm
typescript vite
nodePackages.vite
python3Packages.beautifulsoup4 python3Packages.beautifulsoup4
python3Packages.scrapy python3Packages.scrapy
python3Packages.pillow python3Packages.pillow
python3Packages.playwright python3Packages.playwright
# Python AI/ML packages
python3Packages.torch
python3Packages.torchvision
python3Packages.opencv4
# python3Packages.mediapipe
# INSTALLED # CLI tools
# python3Packages.autogpt
vllm
# agentops
apache-airflow
python313Packages.langfuse
(callPackage ../../pkgs/cao-cli.nix { })
(callPackage ../../pkgs/agentops.nix { })
(callPackage ../../pkgs/mediapipe.nix { })
ollama
tickrs tickrs
taskwarrior3 taskwarrior3
taskwarrior-tui taskwarrior-tui

28
pkgs/agentops.nix Normal file
View File

@@ -0,0 +1,28 @@
{ lib
, python3Packages
, fetchPypi
}:
python3Packages.buildPythonPackage rec {
pname = "agentops";
version = "0.4.21";
pyproject = true;
build-system = with python3Packages; [ hatchling ];
src = fetchPypi {
inherit pname version;
hash = "sha256-R3Wcbf1upYutL3dkJX5HeMsuNK4YDO9kL2D1atztZRA=";
};
# Bypasses strict dependency version checks that fail in Nixpkgs
pythonRelaxDeps = [ "packaging" "psutil" "termcolor" ];
propagatedBuildInputs = with python3Packages; [
pydantic requests httpx websockets aiohttp
opentelemetry-api opentelemetry-exporter-otlp-proto-http
opentelemetry-instrumentation opentelemetry-sdk opentelemetry-semantic-conventions
ordered-set packaging psutil pyyaml termcolor wrapt
];
pythonImportsCheck = [ "agentops" ];
meta = with lib; {
description = "Observability and DevTool Platform for AI Agents";
homepage = "https://github.com/AgentOps-AI/agentops";
license = licenses.mit;
};
}

26
pkgs/autogpt.nix Normal file
View File

@@ -0,0 +1,26 @@
{ lib, buildPythonPackage, fetchFromGitHub, python3Packages }:
buildPythonPackage rec {
pname = "autogpt";
version = "0.5.2";
src = fetchFromGitHub {
owner = "Significant-Gravitas";
repo = "AutoGPT";
rev = "v${version}";
hash = "sha256-0000000000000000000000000000000000000000000000000000"; # NEEDS UPDATE
};
propagatedBuildInputs = with python3Packages; [
openai
langchain
chromadb
sqlalchemy
beautifulsoup4
requests
];
meta = with lib; {
description = "AutoGPT - Autonomous AI agent";
homepage = "https://github.com/Significant-Gravitas/AutoGPT";
license = licenses.mit;
};
}

29
pkgs/cao-cli.nix Normal file
View File

@@ -0,0 +1,29 @@
{ lib
, python3Packages
, fetchFromGitHub
}:
python3Packages.buildPythonPackage rec {
pname = "cli-agent-orchestrator";
version = "1.0.3";
pyproject = true;
build-system = with python3Packages; [ hatchling ];
src = fetchFromGitHub {
owner = "awslabs";
repo = "cli-agent-orchestrator";
rev = "v${version}";
hash = "sha256-syfUQaHeubQnFLgAcIoMozcYA8wuFfcuR2at/J96FoE=";
};
# Relaxes version bounds on dependencies for NixOS compatibility
pythonRelaxDeps = true;
propagatedBuildInputs = with python3Packages; [
fastapi pydantic sqlalchemy uvicorn websockets libtmux
click requests aiofiles python-frontmatter watchdog
apscheduler fastmcp
];
pythonImportsCheck = [ "cli_agent_orchestrator" ];
meta = with lib; {
description = "CLI Agent Orchestrator - multi-agent collaboration via tmux";
homepage = "https://github.com/awslabs/cli-agent-orchestrator";
license = licenses.asl20;
};
}

34
pkgs/mediapipe.nix Normal file
View File

@@ -0,0 +1,34 @@
{ lib
, stdenv
, python3Packages
, fetchurl
, autoPatchelfHook
, opencv
, libglvnd
}:
python3Packages.buildPythonPackage rec {
pname = "mediapipe";
version = "0.10.32";
format = "wheel";
src = fetchurl {
url = "https://files.pythonhosted.org/packages/e3/98/00cd8b2dcb563f2298655633e6611a791b2c1a7df1dae064b2b96084f1bf/mediapipe-0.10.32-py3-none-manylinux_2_28_x86_64.whl";
hash = "sha256-SwlB+7vOQYYvE8sYUMSHjBPbxizV6B50iABRt6IM47Y=";
};
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
stdenv.cc.cc.lib
opencv
libglvnd
];
propagatedBuildInputs = with python3Packages; [
numpy
absl-py
protobuf
opencv4
];
meta = with lib; {
description = "MediaPipe - Google's media processing framework";
homepage = "https://github.com/google/mediapipe";
license = licenses.asl20;
};
}

27
pkgs/react-doctor.nix Normal file
View File

@@ -0,0 +1,27 @@
{ lib, nodejs, pkgs, buildNpmPackage, fetchFromGitHub }:
buildNpmPackage rec {
pname = "react-doctor";
version = "0.0.1";
src = fetchFromGitHub {
owner = "millionco";
repo = "react-doctor";
rev = "0.0.1";
hash = "sha256-T8szJcXeqIWmZQU/D4KpeFU1ZXilThL5JBmw2Y0hZkw=";
};
npmDepsHash = lib.fakeHash;
# CRITICAL: Generate package-lock.json during build
postPatch = ''
cd $sourceRoot
npm install --package-lock-only --no-audit --progress=false
'';
meta = with lib; {
description = "Let coding agents diagnose and fix your React code";
homepage = "https://github.com/millionco/react-doctor";
license = licenses.mit;
mainProgram = "react-doctor";
};
}