Compare commits
3 Commits
feb5dcd673
...
715d06e83b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
715d06e83b | ||
|
|
19332ebb74 | ||
|
|
b65bbcacbe |
8
flake.lock
generated
8
flake.lock
generated
@@ -60,16 +60,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774807340,
|
"lastModified": 1775461158,
|
||||||
"narHash": "sha256-OV76SWqiBguUupfbkJMBVrslJoTqSh4epNjEp/HE/cY=",
|
"narHash": "sha256-FiQzBj3C0sAnKU+WMktliqt0zM3YQDrgQbner1LOTi8=",
|
||||||
"owner": "anomalyco",
|
"owner": "anomalyco",
|
||||||
"repo": "opencode",
|
"repo": "opencode",
|
||||||
"rev": "e7f94f9b9a3bd8742330e4a7ba8573ac21042c01",
|
"rev": "517e6c9aa4c61dbc125e7654fc596f1d529f20d9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "anomalyco",
|
"owner": "anomalyco",
|
||||||
"ref": "v1.3.6",
|
"ref": "v1.3.17",
|
||||||
"repo": "opencode",
|
"repo": "opencode",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
# opencode needs newer bun from master
|
# opencode needs newer bun from master
|
||||||
opencode = {
|
opencode = {
|
||||||
url = "github:anomalyco/opencode/v1.3.13";
|
url = "github:anomalyco/opencode/v1.3.17";
|
||||||
inputs.nixpkgs.follows = "nixpkgs-master";
|
inputs.nixpkgs.follows = "nixpkgs-master";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ in {
|
|||||||
sidecar = pkgs.callPackage ./sidecar {};
|
sidecar = pkgs.callPackage ./sidecar {};
|
||||||
td = pkgs.callPackage ./td {};
|
td = pkgs.callPackage ./td {};
|
||||||
code2prompt = pkgs.callPackage ./code2prompt {};
|
code2prompt = pkgs.callPackage ./code2prompt {};
|
||||||
|
eigent = pkgs.callPackage ./eigent {};
|
||||||
hyprpaper-random = pkgs.callPackage ./hyprpaper-random {};
|
hyprpaper-random = pkgs.callPackage ./hyprpaper-random {};
|
||||||
launch-webapp = pkgs.callPackage ./launch-webapp {};
|
launch-webapp = pkgs.callPackage ./launch-webapp {};
|
||||||
mem0 = pkgs.callPackage ./mem0 {};
|
mem0 = pkgs.callPackage ./mem0 {};
|
||||||
@@ -23,6 +24,7 @@ in {
|
|||||||
openshell = pkgs.callPackage ./openshell {};
|
openshell = pkgs.callPackage ./openshell {};
|
||||||
zellij-ps = pkgs.callPackage ./zellij-ps {};
|
zellij-ps = pkgs.callPackage ./zellij-ps {};
|
||||||
vibetyper = pkgs.callPackage ./vibetyper {};
|
vibetyper = pkgs.callPackage ./vibetyper {};
|
||||||
|
honcho = pkgs.callPackage ./honcho {};
|
||||||
|
|
||||||
# Imported from flake inputs (pass-through, no modifications)
|
# Imported from flake inputs (pass-through, no modifications)
|
||||||
basecamp = inputs.basecamp.packages.${system}.default;
|
basecamp = inputs.basecamp.packages.${system}.default;
|
||||||
@@ -30,4 +32,5 @@ in {
|
|||||||
|
|
||||||
# Imported from flake inputs (with local modifications)
|
# Imported from flake inputs (with local modifications)
|
||||||
opencode-desktop = pkgs.callPackage ./opencode-desktop {inherit inputs;};
|
opencode-desktop = pkgs.callPackage ./opencode-desktop {inherit inputs;};
|
||||||
|
# opencode-desktop = inputs.opencode.packages.${pkgs.system}.desktop;
|
||||||
}
|
}
|
||||||
|
|||||||
76
pkgs/eigent/default.nix
Normal file
76
pkgs/eigent/default.nix
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
appimageTools,
|
||||||
|
fetchurl,
|
||||||
|
lib,
|
||||||
|
nodejs,
|
||||||
|
nodePackages,
|
||||||
|
uv,
|
||||||
|
python3,
|
||||||
|
nix-update-script,
|
||||||
|
}: let
|
||||||
|
pname = "eigent";
|
||||||
|
version = "0.0.89";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/eigent-ai/eigent/releases/download/v${version}/Eigent-${version}.AppImage";
|
||||||
|
hash = "sha256-9KuiFjegfXhCu1W/FCinWX4ae/DsNPudeBcXFfW18Hc=";
|
||||||
|
};
|
||||||
|
appimageContents = appimageTools.extractType2 {inherit pname version src;};
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 {
|
||||||
|
inherit pname version src;
|
||||||
|
|
||||||
|
extraPkgs = _: [
|
||||||
|
nodejs
|
||||||
|
nodePackages.npm
|
||||||
|
uv
|
||||||
|
python3
|
||||||
|
];
|
||||||
|
|
||||||
|
# Runs before bubblewrap launches — sets up writable state for the sandbox.
|
||||||
|
extraPreBwrapCmds = ''
|
||||||
|
# eigent writes to multiple dirs under resources/ at runtime:
|
||||||
|
# prebuilt/ → pyvenv.cfg, .terminal_venv_fixed sentinel
|
||||||
|
# backend/ → creates runtime/ dir for temporary state
|
||||||
|
# Nix store is read-only → EROFS. Copy to writable location on first
|
||||||
|
# launch (or when the package version changes).
|
||||||
|
DATA_DIR="$HOME/.local/share/${pname}"
|
||||||
|
mkdir -p "$DATA_DIR"
|
||||||
|
for subdir in prebuilt backend; do
|
||||||
|
SRC="${appimageContents}/resources/$subdir"
|
||||||
|
DST="$DATA_DIR/$subdir"
|
||||||
|
if [ ! -f "$DST/.nix-src" ] || [ "$(cat "$DST/.nix-src")" != "${appimageContents}" ]; then
|
||||||
|
rm -rf "$DST"
|
||||||
|
cp -r "$SRC" "$DST"
|
||||||
|
chmod -R u+w "$DST"
|
||||||
|
echo "${appimageContents}" > "$DST/.nix-src"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Bind-mount writable copies over the read-only store paths so the app
|
||||||
|
# sees its files at the expected locations but can write to them.
|
||||||
|
extraBwrapArgs = [
|
||||||
|
"--bind $HOME/.local/share/${pname}/prebuilt ${appimageContents}/resources/prebuilt"
|
||||||
|
"--bind $HOME/.local/share/${pname}/backend ${appimageContents}/resources/backend"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
install -m 444 -D ${appimageContents}/eigent.desktop -t $out/share/applications
|
||||||
|
substituteInPlace $out/share/applications/eigent.desktop \
|
||||||
|
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=${pname} %U'
|
||||||
|
install -m 444 -D ${appimageContents}/eigent.png \
|
||||||
|
$out/share/icons/hicolor/256x256/apps/eigent.png
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script {};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Open source AI cowork desktop app — local alternative to Claude Cowork";
|
||||||
|
homepage = "https://github.com/eigent-ai/eigent";
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "eigent";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -29,9 +29,17 @@
|
|||||||
|
|
||||||
# Workaround for https://github.com/anomalyco/opencode/issues/11755
|
# Workaround for https://github.com/anomalyco/opencode/issues/11755
|
||||||
# Upstream is missing outputHashes for git dependencies
|
# Upstream is missing outputHashes for git dependencies
|
||||||
|
# Also fix stale npm deps hash in upstream node_modules FOD
|
||||||
|
fixedNodeModules = opencode.node_modules.overrideAttrs {
|
||||||
|
outputHash = "sha256-LRhPPrOKCGUSCEWTpAxPdWKTKVNkg82WrvD25cP3jts=";
|
||||||
|
};
|
||||||
|
|
||||||
opencode-desktop = rustPlatform.buildRustPackage (finalAttrs: {
|
opencode-desktop = rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
pname = "opencode-desktop";
|
pname = "opencode-desktop";
|
||||||
inherit (opencode) version src node_modules patches;
|
version = opencode.version;
|
||||||
|
src = opencode.src;
|
||||||
|
node_modules = fixedNodeModules;
|
||||||
|
patches = opencode.patches;
|
||||||
|
|
||||||
cargoRoot = "packages/desktop/src-tauri";
|
cargoRoot = "packages/desktop/src-tauri";
|
||||||
cargoLock = {
|
cargoLock = {
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"version": "v0.0.16",
|
"version": "v0.0.23",
|
||||||
"sources": {
|
"sources": {
|
||||||
"aarch64-linux": {
|
"aarch64-linux": {
|
||||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.16/openshell-aarch64-unknown-linux-musl.tar.gz",
|
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.23/openshell-aarch64-unknown-linux-musl.tar.gz",
|
||||||
"hash": "sha256-cwG0fjf0mOZTXA+jwfjbUF04VxnL6U3hD8Hcabg+N/s="
|
"hash": "sha256-x+TMlj8sc68rbkxwW80NrmyC0xaeC81TJMNEtUNhOLg="
|
||||||
},
|
},
|
||||||
"x86_64-linux": {
|
"x86_64-linux": {
|
||||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.16/openshell-x86_64-unknown-linux-musl.tar.gz",
|
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.23/openshell-x86_64-unknown-linux-musl.tar.gz",
|
||||||
"hash": "sha256-yV/9CHBfP85hmOXLmZL6Toxe6mO1gXWMdh21kluS/sU="
|
"hash": "sha256-WLmYWn7mCC6VzUFEFN/O49hui81U0zPI6f3E5Hc9SjI="
|
||||||
},
|
},
|
||||||
"aarch64-darwin": {
|
"aarch64-darwin": {
|
||||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.16/openshell-aarch64-apple-darwin.tar.gz",
|
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.23/openshell-aarch64-apple-darwin.tar.gz",
|
||||||
"hash": "sha256-vSybSSiA+r3IJSpOwCQxSqrxJVkhlfVAfyiSKJai44M="
|
"hash": "sha256-Bm8YP+7+CRKjfjNevirKRWHFBrdy3h5XV7gegvvcWXc="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user