No description
  • Nix 65.3%
  • Shell 34.7%
Find a file
2026-04-02 05:05:56 +00:00
.forgejo/workflows ci: add release creation with git-cliff changelog to tag workflow 2026-04-01 15:27:46 +02:00
.gitignore feat: initial omp package flake 2026-03-31 09:19:40 +02:00
CLAUDE.md chore: rename AGENTS.md to CLAUDE.md 2026-04-01 09:49:05 +02:00
flake.lock chore: add flake.lock 2026-03-31 09:20:21 +02:00
flake.nix feat: add Home Manager module 2026-04-01 16:13:31 +02:00
hm-module.nix refactor(hm-module): switch config/models serialization from JSON to YAML 2026-04-01 16:13:31 +02:00
package.nix chore(deps): update dependency can1357/oh-my-pi to v13.18.0 2026-04-02 05:04:11 +00:00
README.md feat: add Home Manager module 2026-04-01 16:13:31 +02:00
renovate.json fix(renovate): close missing package rule object brace 2026-04-01 11:21:33 +02:00
update.sh feat: add automated version update script and Renovate config 2026-03-31 10:27:20 +02:00

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";

License

MIT