| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  | # A module for ‘rtkit’, a DBus system service that hands out realtime | 
					
						
							|  |  |  |  | # scheduling priority to processes that ask for it. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-14 16:26:48 +02:00
										 |  |  |  | { config, lib, pkgs, ... }: | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-14 16:26:48 +02:00
										 |  |  |  | with lib; | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   options = { | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  |     security.rtkit.enable = mkOption { | 
					
						
							| 
									
										
										
										
											2013-10-30 17:37:45 +01:00
										 |  |  |  |       type = types.bool; | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  |       default = false; | 
					
						
							|  |  |  |  |       description = ''
 | 
					
						
							|  |  |  |  |         Whether to enable the RealtimeKit system service, which hands | 
					
						
							|  |  |  |  |         out realtime scheduling priority to user processes on | 
					
						
							|  |  |  |  |         demand. For example, the PulseAudio server uses this to | 
					
						
							|  |  |  |  |         acquire realtime priority. | 
					
						
							|  |  |  |  |       '';
 | 
					
						
							|  |  |  |  |     }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   config = mkIf config.security.rtkit.enable { | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-18 12:21:20 +02:00
										 |  |  |  |     security.polkit.enable = true; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     # To make polkit pickup rtkit policies | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  |     environment.systemPackages = [ pkgs.rtkit ]; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-18 12:21:20 +02:00
										 |  |  |  |     systemd.packages = [ pkgs.rtkit ]; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  |     services.dbus.packages = [ pkgs.rtkit ]; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-14 19:51:29 +02:00
										 |  |  |  |     users.users.rtkit = | 
					
						
							|  |  |  |  |       { uid = config.ids.uids.rtkit; | 
					
						
							| 
									
										
										
										
											2011-07-26 14:14:10 +00:00
										 |  |  |  |         description = "RealtimeKit daemon"; | 
					
						
							|  |  |  |  |       }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | } |