diff options
Diffstat (limited to 'hostnix/mojo/packages/claude-code/default.nix')
| -rw-r--r-- | hostnix/mojo/packages/claude-code/default.nix | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/hostnix/mojo/packages/claude-code/default.nix b/hostnix/mojo/packages/claude-code/default.nix new file mode 100644 index 0000000..2e3fd35 --- /dev/null +++ b/hostnix/mojo/packages/claude-code/default.nix @@ -0,0 +1,21 @@ +{ writeShellScriptBin, claude-code }: + +writeShellScriptBin "claude" '' + if [[ $HOME/ = ''${PWD%/}/* ]]; then + echo "fatal: refusing to allow access to $PWD" >&2 + exit 1 + fi + + git_dir="$(git rev-parse --absolute-git-dir 2>/dev/null)" + jj_root="$(jj root --ignore-working-copy 2>/dev/null)" + + exec /usr/bin/sandbox-exec -f ${./claude.sb} \ + -D TARGET_DIR="$(realpath "$PWD")" \ + -D TMP_DIR=/tmp \ + -D HOME_DIR="$HOME" \ + -D CACHE_DIR="$HOME/.cache" \ + -D GIT_DIR="''${git_dir:-$PWD/.git}" \ + -D JJ_DIR="''${jj_root:-$PWD}/.jj" \ + ${claude-code}/bin/claude \ + --allow-dangerously-skip-permissions "$@" +'' |
