My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/flake.nix

55 lines
1.2 KiB

{
inputs.nixpkgs = {
type = "github";
owner = "nixos";
repo = "nixpkgs";
ref = "master";
};
description = "A collections of derivations for coreboot and payloads";
outputs = { self, nixpkgs }: let
nixpkgsOptions = {
system = "x86_64-linux";
overlays = [
(import ./pkgs/overlay.nix)
];
};
pkgs = import nixpkgs nixpkgsOptions;
inherit (pkgs) lib;
makeDevice = configFile: (lib.evalModules {
modules = [
({ ... }: {
nixpkgs = nixpkgsOptions;
})
("${nixpkgs}/nixos/modules/misc/assertions.nix")
("${nixpkgs}/nixos/modules/misc/nixpkgs.nix")
./modules
configFile
];
}).config.corenix.rom;
exportedPkgs = {
inherit (pkgs)
coreboot
coreboot-payload-grub2
coreboot-payload-tianocore
coreboot-payload-tint
coreboot-payload-nvramcui
coreboot-payload-coreinfo;
milan-x1c = makeDevice ./configs/milan-x1c.nix;
milan-x230t = makeDevice ./configs/milan-x230t.nix;
};
in {
lib = {
inherit makeDevice;
};
packages.x86_64-linux = exportedPkgs;
# shortcut for use with flake-compat
pkgs = exportedPkgs;
};
}