mirror of
https://github.com/itme-brain/nixos.git
synced 2026-05-08 06:50:11 -04:00
switched to opencode
This commit is contained in:
parent
b8bd062859
commit
357db9eaa4
3 changed files with 2 additions and 78 deletions
73
flake.nix
73
flake.nix
|
|
@ -29,9 +29,6 @@
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixpkgs-unstable, nur, ... }@inputs:
|
outputs = { self, nixpkgs, nixpkgs-unstable, nur, ... }@inputs:
|
||||||
let
|
let
|
||||||
openhandsCliVersion = "1.14.0";
|
|
||||||
python312SlimDigest = "sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286";
|
|
||||||
|
|
||||||
mkPkgs = system: import nixpkgs {
|
mkPkgs = system: import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config = {
|
config = {
|
||||||
|
|
@ -61,69 +58,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
mkOpenHandsCli = pkgs: pkgs.writeShellApplication {
|
|
||||||
name = "openhands-cli";
|
|
||||||
runtimeInputs = with pkgs; [ docker coreutils ];
|
|
||||||
text = ''
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
SANDBOX_VOLUMES="''${SANDBOX_VOLUMES:-$PWD:/workspace}"
|
|
||||||
STATE_DIR="''${OPENHANDS_STATE_DIR:-$HOME/.openhands}"
|
|
||||||
AGENT_SERVER_IMAGE_REPOSITORY="''${OPENHANDS_AGENT_SERVER_IMAGE_REPOSITORY:-ghcr.io/openhands/agent-server}"
|
|
||||||
AGENT_SERVER_IMAGE_TAG="''${OPENHANDS_AGENT_SERVER_IMAGE_TAG:-1.15.0-python}"
|
|
||||||
LLM_MODEL="''${OPENHANDS_LLM_MODEL:-openai/Qwen3-Coder-30B-A3B-Instruct-Q8_0.gguf}"
|
|
||||||
LLM_BASE_URL="''${OPENHANDS_LLM_BASE_URL:-http://192.168.0.23:8000/v1}"
|
|
||||||
LLM_API_KEY="''${OPENHANDS_LLM_API_KEY:-local-llm}"
|
|
||||||
LLM_TIMEOUT="''${OPENHANDS_LLM_TIMEOUT:-300}"
|
|
||||||
CLI_BASE_IMAGE="''${OPENHANDS_CLI_BASE_IMAGE:-python:3.12-slim@${python312SlimDigest}}"
|
|
||||||
CLI_VERSION="''${OPENHANDS_CLI_VERSION:-${openhandsCliVersion}}"
|
|
||||||
CLI_IMAGE="''${OPENHANDS_CLI_IMAGE:-local/openhands-cli:''${CLI_VERSION}}"
|
|
||||||
CONTAINER_NAME="''${OPENHANDS_CONTAINER_NAME:-openhands-cli-$(date +%Y%m%d%H%M%S)}"
|
|
||||||
|
|
||||||
mkdir -p "$STATE_DIR"
|
|
||||||
|
|
||||||
if ! docker image inspect "$CLI_IMAGE" >/dev/null 2>&1; then
|
|
||||||
docker build --pull \
|
|
||||||
--build-arg BASE_IMAGE="$CLI_BASE_IMAGE" \
|
|
||||||
--build-arg OPENHANDS_CLI_VERSION="$CLI_VERSION" \
|
|
||||||
-t "$CLI_IMAGE" - <<'EOF'
|
|
||||||
ARG BASE_IMAGE
|
|
||||||
FROM ''${BASE_IMAGE}
|
|
||||||
ARG OPENHANDS_CLI_VERSION
|
|
||||||
RUN pip install --no-cache-dir uv \
|
|
||||||
&& uv tool install --python 3.12 "openhands==''${OPENHANDS_CLI_VERSION}" \
|
|
||||||
&& ln -sf /root/.local/bin/openhands /usr/local/bin/openhands \
|
|
||||||
&& ln -sf /root/.local/bin/openhands-acp /usr/local/bin/openhands-acp
|
|
||||||
ENV PATH="/root/.local/bin:''${PATH}"
|
|
||||||
ENTRYPOINT ["openhands"]
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
tty_flags=()
|
|
||||||
if [ -t 0 ] && [ -t 1 ]; then
|
|
||||||
tty_flags=(-it)
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec docker run "''${tty_flags[@]}" --rm \
|
|
||||||
-e AGENT_SERVER_IMAGE_REPOSITORY="$AGENT_SERVER_IMAGE_REPOSITORY" \
|
|
||||||
-e AGENT_SERVER_IMAGE_TAG="$AGENT_SERVER_IMAGE_TAG" \
|
|
||||||
-e LLM_MODEL="$LLM_MODEL" \
|
|
||||||
-e LLM_BASE_URL="$LLM_BASE_URL" \
|
|
||||||
-e LLM_API_KEY="$LLM_API_KEY" \
|
|
||||||
-e LLM_TIMEOUT="$LLM_TIMEOUT" \
|
|
||||||
-e SANDBOX_USER_ID="$(id -u)" \
|
|
||||||
-e SANDBOX_VOLUMES="$SANDBOX_VOLUMES" \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-v "$PWD":/workspace \
|
|
||||||
-v "$STATE_DIR":/root/.openhands \
|
|
||||||
-w /workspace \
|
|
||||||
--add-host host.docker.internal:host-gateway \
|
|
||||||
--name "$CONTAINER_NAME" \
|
|
||||||
"$CLI_IMAGE" \
|
|
||||||
"$@"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
|
@ -151,12 +85,5 @@
|
||||||
age-plugin-yubikey
|
age-plugin-yubikey
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
packages.x86_64-linux.openhands-cli = mkOpenHandsCli (mkPkgs "x86_64-linux");
|
|
||||||
|
|
||||||
apps.x86_64-linux.openhands-cli = {
|
|
||||||
type = "app";
|
|
||||||
program = "${self.packages.x86_64-linux.openhands-cli}/bin/openhands-cli";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
5
justfile
5
justfile
|
|
@ -99,11 +99,6 @@ pkgs:
|
||||||
options:
|
options:
|
||||||
@xdg-open https://search.nixos.org/options
|
@xdg-open https://search.nixos.org/options
|
||||||
|
|
||||||
# Run OpenHands CLI via flake app (requires a local Docker runtime)
|
|
||||||
[group('tools')]
|
|
||||||
openhands-cli *ARGS='':
|
|
||||||
@nix run .#openhands-cli -- {{ARGS}}
|
|
||||||
|
|
||||||
# NixOS-rebuild switch for the current system
|
# NixOS-rebuild switch for the current system
|
||||||
[group('nixos')]
|
[group('nixos')]
|
||||||
switch:
|
switch:
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ in
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
unstable.claude-code
|
unstable.claude-code
|
||||||
unstable.codex
|
unstable.codex
|
||||||
|
unstable.opencode
|
||||||
|
|
||||||
bubblewrap
|
bubblewrap
|
||||||
|
|
||||||
nix-init
|
nix-init
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue