An open API service indexing awesome lists of open source software.

https://github.com/numtide/nix-ai-tools

Exploring the integration between Nix and AI coding agents
https://github.com/numtide/nix-ai-tools

buildbot-numtide

Last synced: about 2 months ago
JSON representation

Exploring the integration between Nix and AI coding agents

Awesome Lists containing this project

README

          



nix-ai-tools

Exploring the integration between Nix and AI coding agents. This repository serves as a testbed for packaging, sandboxing, and enhancing AI-powered development tools within the Nix ecosystem.

## Automated Updates

This repository uses GitHub Actions to automatically update all packages and flake inputs daily. Updates are created as individual pull requests for easy review and testing. See `.github/workflows/update.yml` for the workflow configuration.

## Available Tools

`> ./scripts/generate-package-docs.sh`

#### amp

- **Description**: CLI for Amp, an agentic coding tool in research preview from Sourcegraph
- **Version**: 0.0.1754626568-ga6faed
- **License**: unfree
- **Homepage**: https://ampcode.com/
- **Usage**: `nix run .#amp -- --help`

#### backlog-md

- **Description**: Backlog.md - A tool for managing project collaboration between humans and AI Agents in a git ecosystem
- **Version**: 1.7.2
- **License**: MIT
- **Homepage**: https://github.com/MrLesk/Backlog.md
- **Usage**: `nix run .#backlog-md -- --help`

#### claude-code

- **Description**: Agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster
- **Version**: 1.0.72
- **License**: unfree
- **Homepage**: https://github.com/anthropics/claude-code
- **Usage**: `nix run .#claude-code -- --help`

#### claude-code-router

- **Description**: Use Claude Code without an Anthropics account and route it to another LLM provider
- **Version**: 1.0.33
- **License**: MIT
- **Homepage**: https://github.com/musistudio/claude-code-router
- **Usage**: `nix run .#claude-code-router -- --help`

#### claude-desktop

- **Description**: Claude Desktop - AI assistant from Anthropic
- **Version**: 0.12.55
- **License**: unfree
- **Homepage**: https://claude.ai
- **Usage**: `nix run .#claude-desktop -- --help`

#### claudebox

- **Description**: Sandboxed environment for Claude Code
- **Version**: unknown
- **License**: Check package
- **Usage**: `nix run .#claudebox -- --help`

#### crush

- **Description**: The glamourous AI coding agent for your favourite terminal
- **Version**: 0.4.0
- **License**: MIT
- **Homepage**: https://github.com/charmbracelet/crush
- **Usage**: `nix run .#crush -- --help`

#### cursor-agent

- **Description**: Cursor Agent - CLI tool for Cursor AI code editor
- **Version**: 2025.08.08-562252e
- **License**: unfree
- **Homepage**: https://cursor.com/
- **Usage**: `nix run .#cursor-agent -- --help`

#### gemini-cli

- **Description**: AI agent that brings the power of Gemini directly into your terminal
- **Version**: 0.1.18
- **License**: Apache-2.0
- **Homepage**: https://github.com/google-gemini/gemini-cli
- **Usage**: `nix run .#gemini-cli -- --help`

#### opencode

- **Description**: AI coding agent, built for the terminal
- **Version**: 0.4.2
- **License**: MIT
- **Homepage**: https://github.com/sst/opencode
- **Usage**: `nix run .#opencode -- --help`

#### qwen-code

- **Description**: Command-line AI workflow tool for Qwen3-Coder models
- **Version**: 0.0.4
- **License**: Apache-2.0
- **Homepage**: https://github.com/QwenLM/qwen-code
- **Usage**: `nix run .#qwen-code -- --help`

## Installation

### Using Nix Flakes

Add to your system configuration:

```nix
{
inputs = {
nix-ai-tools.url = "github:numtide/nix-ai-tools";
};

# In your system packages:
environment.systemPackages = with inputs.nix-ai-tools.packages.${pkgs.system}; [
claude-code
opencode
gemini-cli
qwen-code
# ... other tools
];
}
```

### Try Without Installing

```bash
# Try Claude Code
nix run github:numtide/nix-ai-tools#claude-code

# Try OpenCode
nix run github:numtide/nix-ai-tools#opencode

# Try Gemini CLI
nix run github:numtide/nix-ai-tools#gemini-cli

# Try Qwen Code
nix run github:numtide/nix-ai-tools#qwen-code
```

## Development

### Setup Development Environment

```bash
nix develop
```

### Building Packages

```bash
# Build a specific package
nix build .#claude-code
nix build .#opencode
nix build .#qwen-code
# etc...
```

### Code Quality

```bash
# Format all code
nix fmt

# Run checks
nix flake check
```

## Package Details

### Platform Support

All packages support:

- `x86_64-linux`
- `aarch64-linux`
- `x86_64-darwin`
- `aarch64-darwin`

### Dependencies

Most packages are based on Node.js 20, with some providing pre-built binaries. Each package is self-contained with all required dependencies.

## Experimental Features

This repository serves as a laboratory for exploring how Nix can enhance AI-powered development:

### Current Experiments

- **Sandboxed execution**: claudebox demonstrates transparent, sandboxed AI agent execution
- **Provider abstraction**: claude-code-router explores decoupling AI interfaces from specific providers
- **Tool composition**: Investigating how multiple AI agents can work together in Nix environments

## Contributing

Contributions are welcome! Please:

1. Fork the repository
1. Create a feature branch
1. Run `nix fmt` before committing
1. Submit a pull request

## See also

- https://github.com/k3d3/claude-desktop-linux-flake

## License

Individual tools are licensed under their respective licenses:

- claude-code: Proprietary
- opencode: MIT
- gemini-cli: Apache 2.0
- claude-code-router: Check package
- claudebox: Check package

The Nix packaging code in this repository is licensed under MIT.