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": {
|
||||
"lastModified": 1774807340,
|
||||
"narHash": "sha256-OV76SWqiBguUupfbkJMBVrslJoTqSh4epNjEp/HE/cY=",
|
||||
"lastModified": 1775461158,
|
||||
"narHash": "sha256-FiQzBj3C0sAnKU+WMktliqt0zM3YQDrgQbner1LOTi8=",
|
||||
"owner": "anomalyco",
|
||||
"repo": "opencode",
|
||||
"rev": "e7f94f9b9a3bd8742330e4a7ba8573ac21042c01",
|
||||
"rev": "517e6c9aa4c61dbc125e7654fc596f1d529f20d9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "anomalyco",
|
||||
"ref": "v1.3.6",
|
||||
"ref": "v1.3.17",
|
||||
"repo": "opencode",
|
||||
"type": "github"
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
# opencode needs newer bun from master
|
||||
opencode = {
|
||||
url = "github:anomalyco/opencode/v1.3.13";
|
||||
url = "github:anomalyco/opencode/v1.3.17";
|
||||
inputs.nixpkgs.follows = "nixpkgs-master";
|
||||
};
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ in {
|
||||
sidecar = pkgs.callPackage ./sidecar {};
|
||||
td = pkgs.callPackage ./td {};
|
||||
code2prompt = pkgs.callPackage ./code2prompt {};
|
||||
eigent = pkgs.callPackage ./eigent {};
|
||||
hyprpaper-random = pkgs.callPackage ./hyprpaper-random {};
|
||||
launch-webapp = pkgs.callPackage ./launch-webapp {};
|
||||
mem0 = pkgs.callPackage ./mem0 {};
|
||||
@@ -23,6 +24,7 @@ in {
|
||||
openshell = pkgs.callPackage ./openshell {};
|
||||
zellij-ps = pkgs.callPackage ./zellij-ps {};
|
||||
vibetyper = pkgs.callPackage ./vibetyper {};
|
||||
honcho = pkgs.callPackage ./honcho {};
|
||||
|
||||
# Imported from flake inputs (pass-through, no modifications)
|
||||
basecamp = inputs.basecamp.packages.${system}.default;
|
||||
@@ -30,4 +32,5 @@ in {
|
||||
|
||||
# Imported from flake inputs (with local modifications)
|
||||
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
|
||||
# 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: {
|
||||
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";
|
||||
cargoLock = {
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"version": "v0.0.16",
|
||||
"version": "v0.0.23",
|
||||
"sources": {
|
||||
"aarch64-linux": {
|
||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.16/openshell-aarch64-unknown-linux-musl.tar.gz",
|
||||
"hash": "sha256-cwG0fjf0mOZTXA+jwfjbUF04VxnL6U3hD8Hcabg+N/s="
|
||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.23/openshell-aarch64-unknown-linux-musl.tar.gz",
|
||||
"hash": "sha256-x+TMlj8sc68rbkxwW80NrmyC0xaeC81TJMNEtUNhOLg="
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.16/openshell-x86_64-unknown-linux-musl.tar.gz",
|
||||
"hash": "sha256-yV/9CHBfP85hmOXLmZL6Toxe6mO1gXWMdh21kluS/sU="
|
||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.23/openshell-x86_64-unknown-linux-musl.tar.gz",
|
||||
"hash": "sha256-WLmYWn7mCC6VzUFEFN/O49hui81U0zPI6f3E5Hc9SjI="
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.16/openshell-aarch64-apple-darwin.tar.gz",
|
||||
"hash": "sha256-vSybSSiA+r3IJSpOwCQxSqrxJVkhlfVAfyiSKJai44M="
|
||||
"url": "https://github.com/NVIDIA/OpenShell/releases/download/v0.0.23/openshell-aarch64-apple-darwin.tar.gz",
|
||||
"hash": "sha256-Bm8YP+7+CRKjfjNevirKRWHFBrdy3h5XV7gegvvcWXc="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user