| 
									
										
										
										
											2018-10-03 18:53:23 +09:00
										 |  |  | { lib, version }: | 
					
						
							| 
									
										
										
										
											2016-01-05 09:22:43 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | with lib; | 
					
						
							| 
									
										
										
										
											2019-08-13 21:52:01 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2018-10-03 18:53:23 +09:00
										 |  |  |   # Common patterns/legacy | 
					
						
							|  |  |  |   whenAtLeast = ver: mkIf (versionAtLeast version ver); | 
					
						
							|  |  |  |   whenOlder   = ver: mkIf (versionOlder version ver); | 
					
						
							|  |  |  |   # range is (inclusive, exclusive) | 
					
						
							|  |  |  |   whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh); | 
					
						
							| 
									
										
										
										
											2016-01-05 09:22:43 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-03 18:49:50 +09:00
										 |  |  |   # Keeping these around in case we decide to change this horrible implementation :) | 
					
						
							|  |  |  |   option = x: | 
					
						
							|  |  |  |       x // { optional = true; }; | 
					
						
							| 
									
										
										
										
											2016-01-05 09:22:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-03 18:49:50 +09:00
										 |  |  |   yes      = { tristate    = "y"; }; | 
					
						
							|  |  |  |   no       = { tristate    = "n"; }; | 
					
						
							|  |  |  |   module   = { tristate    = "m"; }; | 
					
						
							|  |  |  |   freeform = x: { freeform = x; }; | 
					
						
							| 
									
										
										
										
											2016-01-05 09:22:43 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | } |