No description
  • Nix 74.9%
  • Shell 25.1%
Find a file
2026-06-16 14:06:06 +00:00
.forgejo/workflows test: add HM module evaluation check 2026-06-11 07:57:12 +02:00
checks test: add HM module evaluation check 2026-06-11 07:57:12 +02:00
.gitignore feat: initial omp package flake 2026-03-31 09:19:40 +02:00
CLAUDE.md docs(CLAUDE.md): update version references to 15.11.0 2026-06-11 07:50:56 +02:00
flake.lock chore: add flake.lock 2026-03-31 09:20:21 +02:00
flake.nix test: add HM module evaluation check 2026-06-11 07:57:12 +02:00
hm-module.nix fix(hm-module): inject setupVersion to skip setup wizard 2026-06-11 08:23:23 +02:00
package.nix chore: update hashes for v16.0.2 2026-06-16 14:06:02 +00:00
README.md docs(README): document new HM module options 2026-06-11 07:51:57 +02:00
renovate.json fix: run hash updates via Forgejo Actions instead of Renovate postUpgradeTasks 2026-04-30 16:16:29 +02:00
update.sh fix: drop removed native addons and correct stale binary hashes 2026-06-10 20:18:39 +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 = "dark-nebula";
        light = "light";
      };
      symbolPreset = "nerd";
      defaultThinkingLevel = "high";
      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";
        designer = "anthropic/claude-sonnet-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
oh-my-pi.mcp attrs MCP server definitions written to ~/.omp/agent/mcp.json
oh-my-pi.keybindings attrs Keybindings written to ~/.omp/agent/keybindings.yml
oh-my-pi.themes attrsOf attrs Custom themes installed to ~/.omp/agent/themes/<name>.json
oh-my-pi.prompts attrsOf (path | string) Prompts installed to ~/.omp/agent/prompts/<name>.md
oh-my-pi.instructions attrsOf (path | string) Instructions installed to ~/.omp/agent/instructions/<name>.md
oh-my-pi.systemPrompt null | string Content written to ~/.omp/agent/SYSTEM.md (replaces default system prompt)
oh-my-pi.appendSystemPrompt null | string Content written to ~/.omp/agent/APPEND_SYSTEM.md (appended to default system prompt)

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