Expose our packages in flake packages output

This commit is contained in:
Aleix Boné 2025-06-23 11:14:57 +02:00
parent c7b5ec13b8
commit 967cfba8ec
No known key found for this signature in database

View File

@ -2,17 +2,34 @@
inputs.nixpkgs.url = "nixpkgs";
outputs = { self, nixpkgs, ...}:
let
pkgs = import nixpkgs {
let
# For now we only support x86
system = "x86_64-linux";
overlays = [ self.overlays.default ];
};
in
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in
{
bscOverlay = import ./overlay.nix;
overlays.default = self.bscOverlay;
legacyPackages.x86_64-linux = pkgs;
# full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs;
# packages added by our overlay
packages.${system} =
let
inherit (builtins) attrNames removeAttrs;
inherit (nixpkgs.lib) flip filterAttrs getAttrs pipe isDerivation;
in
# extract the names of the packages from the overlay, then get the
# actual packages from the full package set with the overlay applied
pipe (self.overlays.default null { inherit (nixpkgs) lib; }) [
attrNames
(flip getAttrs pkgs)
(flip removeAttrs [ "bsc" ])
(filterAttrs (_: isDerivation))
];
# propagate nixpkgs lib, so we can do bscpkgs.lib
inherit (nixpkgs) lib;