Skip to content

Feature/51#52

Open
malikwirin wants to merge 2 commits intocharmbracelet:masterfrom
malikwirin:feature/51
Open

Feature/51#52
malikwirin wants to merge 2 commits intocharmbracelet:masterfrom
malikwirin:feature/51

Conversation

@malikwirin
Copy link
Copy Markdown
Contributor

@malikwirin malikwirin commented Feb 5, 2026

Summary

This PR implements the feature request from #51 by providing a Nix overlay that makes all Charmbracelet packages available directly in nixpkgs.

Closes #51

Changes

Overlay Implementation

  • Added a functional overlays.default export that integrates all packages into nixpkgs
  • Removed the old overlay.nix in favor of a cleaner implementation in overlays/default.nix
  • Exposed overlays via flake.nix for seamless flake integration

Package Structure Refactoring

  • Centralized package definitions in a new pkgs/default.nix
  • Updated default.nix to import packages from the centralized location
  • Updated module references to use the new package structure

Documentation

  • Completely restructured and expanded the README with:
    • Multiple usage paths (NUR, Overlay, Direct Flake Reference)
    • Clear examples for NixOS and Home Manager integration
    • Added list of all available packages
    • Improved formatting and organization

Usage

After this change, users can apply the overlay to use packages directly:

{
  inputs.charmbracelet.url = "github:charmbracelet/nur";

  outputs = { self, nixpkgs, charmbracelet, ... }: {
    nixosConfigurations.example = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [{
        nixpkgs.overlays = [ charmbracelet.overlays.default ];
        environment.systemPackages = [ pkgs.gum pkgs.glow pkgs.mods ];
      }];
    };
  };
}

  Provides overlays.default that makes all packages available directly
  in nixpkgs without the NUR namespace (e.g., pkgs.gum, pkgs.glow).

  - Centralize package definitions in pkgs/default.nix
  - Add overlays.default exposing all packages
  - Remove redundant overlay.nix in favor of overlays/default.nix
  - Refactor default.nix to use packages attribute
  - Update crush module to reference packages consistently

  Closes charmbracelet#51
@malikwirin malikwirin requested a review from a team as a code owner February 5, 2026 16:18
@malikwirin malikwirin requested review from andreynering and meowgorithm and removed request for a team February 5, 2026 16:18
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.

Feature Request: Provide a Nix Overlay

1 participant