 4ed7e23636
			
		
	
	
		4ed7e23636
		
	
	
	
	
		
			
			deviceTree_rpi got renamed to device-tree_rpi a while back, so this updates the examples to reflect that.
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { config, lib, pkgs, ... }:
 | |
| 
 | |
| with lib;
 | |
| 
 | |
| let
 | |
|   cfg = config.hardware.deviceTree;
 | |
| in {
 | |
|   options = {
 | |
|       hardware.deviceTree = {
 | |
|         enable = mkOption {
 | |
|           default = pkgs.stdenv.hostPlatform.platform.kernelDTB or false;
 | |
|           type = types.bool;
 | |
|           description = ''
 | |
|             Build device tree files. These are used to describe the
 | |
|             non-discoverable hardware of a system.
 | |
|           '';
 | |
|         };
 | |
| 
 | |
|         base = mkOption {
 | |
|           default = "${config.boot.kernelPackages.kernel}/dtbs";
 | |
|           defaultText = "\${config.boot.kernelPackages.kernel}/dtbs";
 | |
|           example = literalExample "pkgs.device-tree_rpi";
 | |
|           type = types.path;
 | |
|           description = ''
 | |
|             The package containing the base device-tree (.dtb) to boot. Contains
 | |
|             device trees bundled with the Linux kernel by default.
 | |
|           '';
 | |
|         };
 | |
| 
 | |
|         overlays = mkOption {
 | |
|           default = [];
 | |
|           example = literalExample
 | |
|             "[\"\${pkgs.device-tree_rpi.overlays}/w1-gpio.dtbo\"]";
 | |
|           type = types.listOf types.path;
 | |
|           description = ''
 | |
|             A path containing device tree overlays (.dtbo) to be applied to all
 | |
|             base device-trees.
 | |
|           '';
 | |
|         };
 | |
| 
 | |
|         package = mkOption {
 | |
|           default = null;
 | |
|           type = types.nullOr types.path;
 | |
|           internal = true;
 | |
|           description = ''
 | |
|             A path containing the result of applying `overlays` to `base`.
 | |
|           '';
 | |
|         };
 | |
|       };
 | |
|   };
 | |
| 
 | |
|   config = mkIf (cfg.enable) {
 | |
|     hardware.deviceTree.package = if (cfg.overlays != [])
 | |
|       then pkgs.deviceTree.applyOverlays cfg.base cfg.overlays else cfg.base;
 | |
|   };
 | |
| }
 |