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 theirnixpkgs)overlays.default— composed overlay (pins + amarbel-specific packages)overlays.amarbelPackages— amarbel-specific package additions onlypackages.<system>— curated subset fornix run .#fooergonomicschecks.<system>— eval coverage for fork-specific packageslib,nixosModules— re-exported from the underlying nixpkgs
| 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 |
{
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.
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;
};
}let
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [ amarbel.overlays.default ];
config.allowUnfree = true;
};
in pkgs.claude-codeigloo 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.
See COPYING.