40 lines
1.0 KiB
Nix
40 lines
1.0 KiB
Nix
{
|
|
description = "Build OpenWRT images in Nix derivations";
|
|
|
|
outputs = { self, nixpkgs }@inputs:
|
|
let pkgs' = nixpkgs.legacyPackages.x86_64-linux;
|
|
in {
|
|
|
|
lib = {
|
|
build = { pkgs ? pkgs', ... }@args:
|
|
import ./builder.nix (args // { inherit pkgs; });
|
|
|
|
profiles = { pkgs ? pkgs', release ? "21.02.3", ... }@args:
|
|
import ./profiles.nix (args // { inherit pkgs release; });
|
|
|
|
openwrtSystem = import ./lib/openwrt-system.nix;
|
|
};
|
|
|
|
packages.x86_64-linux.profiles-list = import ./profiles-list.nix {
|
|
pkgs = pkgs';
|
|
};
|
|
|
|
# `nix run .#generate-hashes`
|
|
packages.x86_64-linux.generate-hashes = import ./generate-hashes.nix {
|
|
pkgs = pkgs';
|
|
};
|
|
|
|
packages.x86_64-linux.example-image = self.lib.openwrtSystem {
|
|
pkgs = pkgs';
|
|
modules = [ ./example.nix ];
|
|
};
|
|
|
|
checks = self.packages;
|
|
|
|
hydraJobs = {
|
|
example-image =
|
|
nixpkgs.lib.hydraJob self.packages.x86_64-linux.example-image;
|
|
};
|
|
};
|
|
}
|