Skip to content

amarbel-llc/igloo

Repository files navigation

amarbel-llc/igloo

A small overlay flake on top of upstream NixOS/nixpkgs.

igloo is the workspace's shared Nix build-support layer: it consumes nixpkgs as a flake input and exposes build helpers, pins, and package additions for the amarbel-llc repos that wire it in as their nixpkgs input. It exposes:

  • legacyPackages.<system> — the upstream pkgs set with the overlay applied (drop-in replacement for consumers that use this flake as their nixpkgs)
  • overlays.default — composed overlay (pins + amarbel-specific packages)
  • overlays.amarbelPackages — amarbel-specific package additions only
  • packages.<system> — curated subset for nix run .#foo ergonomics
  • checks.<system> — eval coverage for fork-specific packages
  • lib, nixosModules — re-exported from the underlying nixpkgs

Layout

Path Contents
flake.nix Inputs and outputs of this overlay flake
overlays/ Overlay composition
overlays/default.nix Auto-discovers pins/ and combines with amarbel-packages
overlays/amarbel-packages.nix amarbel-specific package additions
overlays/pins/ One file per upstream package override
pkgs/build-support/gomod2nix/ gomod2nix builder library + CLI
pkgs/build-support/godyn/ godyn per-package Go builder (graph-driven, see godyn(7))
pkgs/build-support/bun2nix/ bun2nix builder library
pkgs/build-support/fetch-gguf-model/ GGUF model fetcher
docs/decisions/ Architecture Decision Records (ADRs)
docs/features/ Feature Design Records (FDRs)
zz-pocs/ Proof-of-concept experiments

Using as a consumer

Drop-in (single input)

{
  inputs.nixpkgs.url = "github:amarbel-llc/igloo";
  outputs = { nixpkgs, ... }: {
    packages.x86_64-linux.foo = nixpkgs.legacyPackages.x86_64-linux.claude-code;
  };
}

This is the simplest case. Whatever nixpkgs SHA the overlay flake pins to becomes your nixpkgs.

Override the underlying nixpkgs

If you want to control the upstream nixpkgs version yourself:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
    amarbel.url = "github:amarbel-llc/igloo";
    amarbel.inputs.nixpkgs.follows = "nixpkgs";
  };
  outputs = { nixpkgs, amarbel, ... }: {
    packages.x86_64-linux.foo = amarbel.legacyPackages.x86_64-linux.claude-code;
  };
}

Overlay-only (compose with your own pkgs)

let
  pkgs = import nixpkgs {
    system = "x86_64-linux";
    overlays = [ amarbel.overlays.default ];
    config.allowUnfree = true;
  };
in pkgs.claude-code

History

igloo began as a full fork of NixOS/nixpkgs and was reduced to this overlay flake before being renamed. The pre-rename git history (the fork-era commits) lives in the archived amarbel-llc/nixpkgs repository.

License

See COPYING.

About

Overlay flake providing Nix build-support helpers, pins, and package additions on top of nixpkgs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors