Some checks failed
build / build (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Nix flake providing custom packages not available in nixpkgs. Tracks nixos-unstable. Uses config.allowUnfree = true.
Build Commands
# Build a specific package
nix build .#packages.x86_64-linux.<package-name>
# Build all packages (x86_64-linux)
./scripts/build-all.sh
# Validate flake
nix flake check
# Update flake inputs
nix flake update
Structure
flake.nix— Defines all packages and per-package overlays. Packages are registered inpackagesand exposed viaoverlays.pkgs/<name>/default.nix— Individual package definitions, called viapkgs.callPackage(orpkgs.qt6Packages.callPackagefor Qt packages).scripts/— Helper scripts (build-all.sh,update-pob.sh).
Adding a New Package
- Create
pkgs/<name>/default.nixwith the package derivation. - Add the package to
packagesinflake.nixviacallPackage. - Add a per-package overlay in
flake.nixoverlaysand include it in thedefaultoverlay if appropriate.
Packaging Patterns Used
- AppImage:
appimageTools.wrapType2(seepoe-sidekick) - Electron/Yarn:
yarnConfigHook+yarnBuildHook+fetchYarnDeps(seeawakened-poe-trade) - Qt6/Meson:
qt6Packages.callPackage+wrapQtAppsHook(seepath-of-building-*) - Rust/Cargo:
rustPlatform.buildRustPackage+useFetchCargoVendor(seenoita-entangled-worlds) - Binary/.NET:
fetchurl+makeWrapperwithmakeLibraryPath(seevintagestory)
Commit Style
Imperative, prefixed with package name when relevant: poe-sidekick: add package, Bump entangled worlds.