49 lines
1.5 KiB
Nix
49 lines
1.5 KiB
Nix
{
|
|
inputs,
|
|
lib,
|
|
...
|
|
}: {
|
|
config.flake.lib = {
|
|
mkNixos = system: name: {
|
|
${name} = inputs.nixpkgs.lib.nixosSystem {
|
|
modules = [
|
|
inputs.self.modules.nixos.${name}
|
|
{nixpkgs.hostPlatform = lib.mkDefault system;}
|
|
];
|
|
};
|
|
};
|
|
|
|
mkHome = system: username: hostname: {
|
|
"${username}@${hostname}" = inputs.home-manager.lib.homeManagerConfiguration {
|
|
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
|
extraSpecialArgs = {inherit inputs;};
|
|
modules = [inputs.self.modules.homeManager.${username}.${hostname}];
|
|
};
|
|
};
|
|
|
|
mkPinetab = buildPlatform: variantModules: {
|
|
pinetab2 = inputs.nixpkgs.lib.nixosSystem {
|
|
system = "aarch64-linux";
|
|
modules =
|
|
[
|
|
inputs.rockchip.nixosModules.sdImageRockchip
|
|
inputs.rockchip.nixosModules.dtOverlayPCIeFix
|
|
inputs.rockchip.nixosModules.noZFS
|
|
inputs.self.modules.nixos.pinetab2-base
|
|
]
|
|
++ variantModules
|
|
++ [
|
|
{
|
|
rockchip.uBoot = inputs.rockchip.packages.${buildPlatform}.uBootPineTab2;
|
|
boot.kernelPackages =
|
|
inputs.rockchip.legacyPackages.${buildPlatform}.kernel_linux_7_0_pinetab_unstable;
|
|
hardware.firmware = [inputs.rockchip.packages.aarch64-linux.bes2600];
|
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
builtins.elem (inputs.nixpkgs.lib.getName pkg) ["bes2600-firmware"];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|