{ description = "kitchen — the KitchenMD CLI, packaged as a Nix flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; # Provides the single pinned Bun used to compile the binary, held apart # from `nixpkgs` so a `nixpkgs` update cannot drag Bun to a release that # emits empty binaries under sandboxed native compilation. nixpkgs-bun.url = "github:nixos/nixpkgs/241313f4e8e508cb9b13278c2b0fa25b9ca27163"; flake-parts.url = "github:hercules-ci/flake-parts"; systems.url = "github:nix-systems/x86_64-linux"; bun2nix = { url = "github:nix-community/bun2nix?ref=2.1.2"; # Compile against the pinned Bun rather than `nixpkgs`'s. inputs.nixpkgs.follows = "nixpkgs-bun"; inputs.systems.follows = "systems"; }; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { systems = import inputs.systems; perSystem = { system, ... }: let pkgs = import inputs.nixpkgs { inherit system; overlays = [ inputs.bun2nix.overlays.default ]; }; in { packages.default = pkgs.callPackage ./package.nix { }; }; }; }