No description
- Nix 65.3%
- Shell 34.7%
|
All checks were successful
Tag and release / tag (push) Successful in 23s
Reviewed-on: #7 |
||
|---|---|---|
| .forgejo/workflows | ||
| .gitignore | ||
| CLAUDE.md | ||
| flake.lock | ||
| flake.nix | ||
| hm-module.nix | ||
| package.nix | ||
| README.md | ||
| renovate.json | ||
| update.sh | ||
omp-nix
Nix flake packaging Oh My Pi (omp) -- an AI coding agent for the terminal.
Supported platforms
| Nix system | Architecture |
|---|---|
x86_64-linux |
Linux x86-64 |
aarch64-linux |
Linux ARM64 |
x86_64-darwin |
macOS Intel |
aarch64-darwin |
macOS Apple Silicon |
Quick start
Run without installing:
nix run git+https://git.molez.org/mandlm/omp-nix
Install into your profile:
nix profile install git+https://git.molez.org/mandlm/omp-nix
Flake usage
Add to your flake.nix inputs:
{
inputs = {
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix";
};
outputs = { nixpkgs, omp-nix, ... }: {
# reference the package as:
# omp-nix.packages.${system}.omp
};
}
Home Manager module
Module originally contributed by @azais-corentin.
Import the module in your Home Manager configuration:
{ inputs, ... }: {
imports = [ inputs.omp-nix.homeManagerModules.omp ];
}
Minimal setup (installs the package, no configuration):
{
oh-my-pi.enable = true;
}
Full example with settings and skills:
{
oh-my-pi = {
enable = true;
settings = {
theme = "dark-nebula";
symbolPreset = "nerd";
defaultThinkingLevel = "medium";
ask.timeout = 0;
modelRoles = {
default = "anthropic/claude-opus-4-6";
smol = "anthropic/claude-sonnet-4-6";
slow = "anthropic/claude-opus-4-6";
vision = "google-antigravity/gemini-3.1-pro-high";
plan = "anthropic/claude-opus-4-6";
commit = "anthropic/claude-sonnet-4-6";
task = "anthropic/claude-sonnet-4-6";
};
};
skills = {
pdf = "github:anthropics/skills/skills/pdf@b0cbd3df1533b396d281a6886d5132f623393a9c";
frontend-design = "github:anthropics/skills/skills/frontend-design@b0cbd3df1533b396d281a6886d5132f623393a9c";
};
};
}
Module options
| Option | Type | Description |
|---|---|---|
oh-my-pi.enable |
bool |
Enable declarative omp configuration |
oh-my-pi.package |
package |
The omp package to install (defaults to this flake's build) |
oh-my-pi.settings |
attrs |
Freeform settings written to ~/.omp/agent/config.yml |
oh-my-pi.models |
attrs |
Model provider definitions written to ~/.omp/agent/models.yml |
oh-my-pi.skills |
attrsOf (path | string | { src; subdir; }) |
Skills installed to ~/.omp/agent/skills/<name>/ |
oh-my-pi.commands |
attrsOf (path | string) |
Slash commands installed to ~/.omp/agent/commands/<name>.md |
oh-my-pi.rules |
attrsOf (path | string) |
Rules installed to ~/.omp/agent/rules/<name>.md |
oh-my-pi.agents |
attrsOf (path | string) |
Custom agents installed to ~/.omp/agent/agents/<name>.md |
Skills accept multiple forms: a path to a file or directory, an inline string, a "github:owner/repo/subdir@ref" shorthand, or an attrset { src; subdir; } for pre-fetched sources.
NixOS
{ inputs, pkgs, ... }: {
environment.systemPackages = [
inputs.omp-nix.packages.${pkgs.stdenv.hostPlatform.system}.omp
];
}
Pinning a specific version
Pin to a version tag (created automatically on each release):
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=refs/tags/v13.17.1";
Pin to a specific commit:
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=refs/heads/main&rev=<commit-sha>";
Follow the latest release (default):
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=main";