- Nix 73.6%
- Python 26.4%
| clank | ||
| container | ||
| .gitignore | ||
| AGENTS.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
🤖 Clank
clank is an AI sandbox, pre-configured to quickly start using AI.
⚡ Quick Start
❄️ Get Nix
Clank is built using the Nix package manager.
Debian / Ubuntu
sudo apt install -y nix uidmap
echo 'experimental-features = nix-command flakes' | sudo tee -a /etc/nix/nix.conf
sudo usermod -aG nix-users $USER
At this point you need to log out and in again to effectuate the change to your user's groups.
🚀 Try Clank
Through the power of Nix, you can run Clank without installing anything else.
nix run github:magenta-aps/clank
This mounts the current directory into a sandbox, which the AI will have full
access to, so maybe don't do it in a directory with sensitive data. Get the
vibes going by running opencode or claude. See below for more.
📦 Install Clank
NixOS
{
inputs = {
clank = {
url = "github:magenta-aps/clank";
# inputs.nixpkgs.follows = "nixpkgs";
};
};
}
{clank, pkgs, ...}: {
environment.systemPackages = [
clank.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}
Everything Else
alias clank='nix run github:magenta-aps/clank --'
⚙️ Configure Providers
👼 Open Code
See the OpenCode documentation for a list of providers.
- Gemini: run
opencodeand then/connecttoGoogle. The API key is here if you work at Magenta. We recommend theGemini 3.1 Pro Previewmodel. - Mistral: run
opencodeand then/connecttoMistral. Generate an API key here. We recommend theMistral Medium (latest)model. - Scaleway: run
opencodeand then/connecttoScaleway. The API key is here if you work at Magenta. We don't recommend any of these models, as they're all kinda bad, butqwen3.5-397b-a17bis probably the best that they offer.
😈 Claude Code
Anthropic doesn't allow using OpenCode with a Claude subscription, so we have
to use Claude Code. Open claude and then /login using Claude account with subscription - make sure to Continue with email, not Google.
Due to a bug, you
can't use regular /login if you want to use multiple concurrent Claude Code
sessions. In this case, run claude setup-token and add the resulting token to
~/.config/clank.sh (on the host):
export CLAUDE_CODE_OAUTH_TOKEN='<your-access-token-here>'
💡 Tips and Tricks
OpenCode Web
CLANK_PODMAN_OPTS='--publish=127.0.0.1:4096:4096' clank opencode web --hostname=0.0.0.0 --port=4096
🧑🔧 Development
git clone https://github.com/magenta-aps/clank.git
nix run ~/clank
🗑️ Remove All State
rm ~/.config/clank.sh
nix run nixpkgs#podman -- rm --force --filter 'name=^clank'
nix run nixpkgs#podman -- volume rm clank-persist