Skip to content

Refreshes packages#214

Merged
crdant merged 10 commits intomainfrom
chore/crdant/refreshes-2025-11-10
Nov 14, 2025
Merged

Refreshes packages#214
crdant merged 10 commits intomainfrom
chore/crdant/refreshes-2025-11-10

Conversation

@crdant
Copy link
Owner

@crdant crdant commented Nov 14, 2025

TL;DR

Updates flake, incorporates new packages, and tweaks sources for
some software

Details

Performs some regular refreshes and updates including:

  • Updates flake lock
  • Switches to release version of CodeLater vs. nightly
  • Adds the pixi package manager for use with Mojo
  • Includes the docker CLI even though I've fought it since I
    started using nerdctl
  • Uses the new name for the Rose Pine Ghostty theme
  • Switches to the upstream version of the llm package since it
    supports the plugins I actually use and reduces my support burden

Summary by CodeRabbit

  • New Features

    • LLM now includes plugins for Anthropic, Cmd, Echo, Fireworks, Gemini, Groq, JQ, Perplexity, Python, Fabric templates, QuickJS, SimpleEval, SQLite, and Venice.
    • Added Docker client to development environment.
    • Added Pixi development tool.
    • New terminal keybind: Shift+Enter.
  • Changes

    • Terminal theme explicitly set to Rose Pine Moon.
    • CodeLayer switched to stable release.

@coderabbitai
Copy link

coderabbitai bot commented Nov 14, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR migrates from a custom LLM plugin management system to using unstable.llm with built-in plugin support. Numerous custom plugin infrastructure files are removed, and the AI module configuration is updated to use unstable.llm's withPlugins function. Minor additions to containers and development packages, along with configuration adjustments to Ghostty and Homebrew casks.

Changes

Cohort / File(s) Summary
AI Module Configuration
home/modules/ai/default.nix
Replaces custom llm entry with unstable.llm instantiated via withPlugins, enabling plugins: anthropic, cmd, echo, fireworks, gemini, groq, jq, perplexity, python, templates-fabric, tools-quickjs, tools-simpleeval, tools-sqlite, and venice.
Package Additions
home/modules/containers/default.nix, home/modules/development/default.nix
Adds docker-client to containers packages; adds pixi to development packages.
Desktop Configuration
home/modules/desktop/config/ghostty/config
Changes theme from conditional mapping (dark:rose-pine-moon, light:rose-pine-dawn) to explicit string "Rose Pine Moon"; adds keybind entry shift+enter=text:\n.
Overlay Cleanup
overlays/default.nix, overlays/llm/default.nix
Removes llm entry from overlay modifications; deletes entire custom LLM overlay file defining customPython, plugin sets, and llm derivation.
Plugin System Removal
pkgs/llm/plugins/build-llm-plugin.nix, pkgs/llm/plugins/default.nix, pkgs/llm/plugins/generated-plugins.nix, pkgs/llm/plugins/Makefile, pkgs/llm/plugins/llm-plugins-lock.json, pkgs/llm/plugins/llm-plugins.json, pkgs/llm/plugins/overlay.nix, pkgs/llm/plugins/update-plugins.py
Removes entire custom plugin infrastructure: derivation builder, composition module with withPlugins utility, plugin registry, management tooling (Makefile, Python updater), and lockfile/manifest data.
System Development Configuration
systems/modules/development/default.nix
Replaces Homebrew cask from "codelayer-nightly" to "codelayer".

Sequence Diagram

sequenceDiagram
    participant User
    participant Config as AI Module Config
    participant Unstable as unstable.llm
    participant Plugins as Plugin System

    rect rgb(200, 220, 255)
    note over User,Plugins: Before: Custom Plugin System
    User->>Config: Load custom llm overlay
    Config->>Plugins: Reference custom-built llm
    Plugins->>Plugins: Build llm with custom Python env
    Plugins->>Plugins: Assemble plugins from generated-plugins.nix
    Plugins->>Plugins: Apply Makefile maintenance tasks
    Plugins-->>Config: Return customized llm instance
    end

    rect rgb(220, 255, 220)
    note over User,Plugins: After: Unstable.llm with withPlugins
    User->>Config: Load AI module config
    Config->>Unstable: Use unstable.llm with withPlugins
    Unstable->>Unstable: withPlugins enables selected plugins
    Unstable-->>Config: Return llm with plugins (anthropic, cmd, echo, fireworks, ...)
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45–75 minutes

Areas requiring extra attention:

  • Plugin availability migration: Verify that all plugins previously defined in generated-plugins.nix (35+ entries including anthropic, bedrock, cohere, deepseek, etc.) are available in unstable.llm; some legacy plugins may no longer be supported.
  • Overlay and derivation removal: Confirm that the removal of overlays/llm/default.nix (custom Python environment with package overrides for anthropic, nanobind, mlx) does not break platform-specific builds (Darwin/aarch64 handling, CMAKE/SDK tweaks, MACOSX deployment targets).
  • Makefile automation loss: Verify that no critical update or maintenance workflows depend on the removed Makefile targets (update, generate, check, add-plugin, dev-shell).
  • Ghost config theme correctness: Ensure "Rose Pine Moon" is a valid Ghostty theme and that the new keybind (shift+enter=text:\n) does not conflict with existing bindings.

Possibly related PRs

  • Updates dependencies and tooling #202: Modifies pkgs/llm/plugins/generated-plugins.nix, directly related to the plugin system changes being removed in this PR; may provide context on prior plugin updates.

Poem

🐰 The plugin warren once bustled and grew,
With custom builds, locks, and updates anew—
But lo! Unstable brings harmony's call,
WithPlugins now gardens them all,
Our burrow simplifies, lighter and true!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/crdant/refreshes-2025-11-10

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 35d11dd and a38288c.

⛔ Files ignored due to path filters (1)
  • flake.lock is excluded by !**/*.lock
📒 Files selected for processing (15)
  • home/modules/ai/default.nix (1 hunks)
  • home/modules/containers/default.nix (1 hunks)
  • home/modules/desktop/config/ghostty/config (1 hunks)
  • home/modules/development/default.nix (1 hunks)
  • overlays/default.nix (0 hunks)
  • overlays/llm/default.nix (0 hunks)
  • pkgs/llm/plugins/Makefile (0 hunks)
  • pkgs/llm/plugins/build-llm-plugin.nix (0 hunks)
  • pkgs/llm/plugins/default.nix (0 hunks)
  • pkgs/llm/plugins/generated-plugins.nix (0 hunks)
  • pkgs/llm/plugins/llm-plugins-lock.json (0 hunks)
  • pkgs/llm/plugins/llm-plugins.json (0 hunks)
  • pkgs/llm/plugins/overlay.nix (0 hunks)
  • pkgs/llm/plugins/update-plugins.py (0 hunks)
  • systems/modules/development/default.nix (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@crdant crdant merged commit 982e74d into main Nov 14, 2025
1 check was pending
@crdant crdant deleted the chore/crdant/refreshes-2025-11-10 branch November 14, 2025 22:58
crdant added a commit that referenced this pull request Nov 29, 2025
TL;DR
-----

Updates flake, incorporates new packages, and tweaks sources for
some software

Details
-------

Performs some regular refreshes and updates including:

* Updates flake lock
* Switches to release version of CodeLater vs. nightly
* Adds the `pixi` package manager for use with Mojo
* Includes the `docker` CLI even though I've fought it since I
  started using `nerdctl`
* Uses the new name for the Rose Pine Ghostty theme
* Switches to the upstream version of the `llm` package since it
  supports the plugins I actually use and reduces my support burden
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant