Skip to content

Expose custom packages as flake outputs#285

Open
crdant wants to merge 2 commits into
mainfrom
feature/crdant/exposes-packages
Open

Expose custom packages as flake outputs#285
crdant wants to merge 2 commits into
mainfrom
feature/crdant/exposes-packages

Conversation

@crdant

@crdant crdant commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds packages.aarch64-darwin and packages.x86_64-linux outputs to the flake, sourced from pkgs/default.nix. Packages are now reachable via nix build .#kots, nix run .#replicated, etc., and can be consumed by other flakes directly or via the existing overlays.additions overlay.
  • Darwin-only packages (vimr, icalpal) and aarch64-darwin-only packages (mlx-lm) are gated with lib.optionalAttrs so they don't appear for unsupported systems.
  • Adds exa-py (defined but previously not wired into pkgs/default.nix), removes the broken llmPlugins reference (directory never existed), and fixes a missing pyproject = true in mlx-lm that prevented flake evaluation.
  • Moves vimr's neovim CLI wrapping into the package itself (neovim ? null argument) rather than a separate vimr-wrapper.nix derivation. The call site becomes vimr.override { neovim = config.programs.neovim.finalPackage; }. Adds meta.mainProgram so nix run .#vimr works for the unwrapped case.

crdant added 2 commits June 3, 2026 05:50
Adds a packages output for aarch64-darwin and x86_64-linux, sourced
from pkgs/default.nix. Darwin-only packages (vimr, icalpal) and
aarch64-only packages (mlx-lm) are gated with lib.optionalAttrs so
they don't appear for unsupported systems.

Also adds exa-py (previously defined but not wired in), removes the
broken llmPlugins reference (directory never existed), and fixes a
missing pyproject = true in mlx-lm that prevented evaluation.
The vimr package now accepts neovim ? null and handles CLI wrapping
itself: when neovim is provided it runs makeWrapper with the package's
wrapperArgs and packpathDirs; when not, it symlinks the raw CLI.
Adds meta.mainProgram so nix run works.

Replaces the separate vimr-wrapper.nix derivation with a simple
vimr.override { neovim = config.programs.neovim.finalPackage; }
at the call site.
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