nixos-config/overlays/default.nix
Sridhar Ratnakumar f13b2406c6
Add opencode home-manager module for zest and pureintent (#103)
* Add opencode home-manager module for zest and pureintent

* Move claude-code Juspay config to separate module

* Add JUSPAY_API_KEY export for opencode
2026-03-11 13:56:30 -04:00

40 lines
1.1 KiB
Nix

{ flake, ... }:
let
inherit (flake) inputs;
inherit (inputs) self;
packages = self + /packages;
nix-ai-tools = system: inputs.nix-ai-tools.packages.${system};
in
self: super:
let
# Auto-import all packages from the packages directory
# TODO: Upstream this to nixos0-unified?
entries = builtins.readDir packages;
# Convert directory entries to package definitions
makePackage = name: type:
let
# Remove .nix extension for package name
pkgName =
if type == "regular" && builtins.match ".*\\.nix$" name != null
then builtins.replaceStrings [ ".nix" ] [ "" ] name
else name;
in
{
name = pkgName;
value = self.callPackage (packages + "/${name}") { };
};
# Import everything in packages directory
packageOverlays = builtins.listToAttrs
(builtins.attrValues (builtins.mapAttrs makePackage entries));
in
packageOverlays // {
# Use claude-code from nix-ai-tools instead of nixpkgs
claude-code = (nix-ai-tools self.system).claude-code;
copilot-cli = (nix-ai-tools self.system).copilot-cli;
opencode = (nix-ai-tools self.system).opencode;
}