| 
									
										
										
										
											2025-06-22 13:55:04 +01:00
										 |  |  | { config, lib, pkgs, ... }: | 
					
						
							| 
									
										
										
										
											2025-04-06 00:12:20 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | with lib; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-23 14:19:05 +01:00
										 |  |  | let | 
					
						
							| 
									
										
										
										
											2025-05-03 16:50:27 +01:00
										 |  |  |   cfg = config.desktop.browsers.qutebrowser; | 
					
						
							| 
									
										
										
										
											2025-04-23 14:19:05 +01:00
										 |  |  | in | 
					
						
							| 
									
										
										
										
											2025-04-06 00:12:20 +01:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2025-05-03 16:50:27 +01:00
										 |  |  |   options.desktop.browsers.qutebrowser.enable = | 
					
						
							| 
									
										
										
										
											2025-04-23 23:05:45 +01:00
										 |  |  |     mkEnableOption "Enable qutebrowser"; | 
					
						
							| 
									
										
										
										
											2025-04-23 14:19:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   config = mkIf cfg.enable { | 
					
						
							| 
									
										
										
										
											2025-04-06 00:12:20 +01:00
										 |  |  |     programs.qutebrowser = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-22 13:55:04 +01:00
										 |  |  |       package = pkgs.stable.qutebrowser; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-06 00:12:20 +01:00
										 |  |  |       searchEngines = { | 
					
						
							|  |  |  |         dp = "https://www.drupal.org/project/{}"; | 
					
						
							|  |  |  |         du = "https://www.drupal.org/u/{}"; | 
					
						
							|  |  |  |         gh = "https://github.com/search?q={}"; | 
					
						
							|  |  |  |         mn = "https://mynixos.com/search?q={}"; | 
					
						
							|  |  |  |         nx = "https://search.nixos.org/packages?query={}"; | 
					
						
							| 
									
										
										
										
											2025-06-11 00:54:41 +01:00
										 |  |  |         yt = "https://www.youtube.com/results?search_query={}"; | 
					
						
							| 
									
										
										
										
											2025-04-06 00:12:20 +01:00
										 |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       settings = { | 
					
						
							|  |  |  |         colors.webpage.darkmode.enabled = true; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       keyBindings = { | 
					
						
							|  |  |  |         normal = { | 
					
						
							|  |  |  |           "<Ctrl-d>" = "config-cycle colors.webpage.darkmode.enabled true false"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           "xb" = "config-cycle statusbar.show always never"; | 
					
						
							|  |  |  |           "xt" = "config-cycle tabs.show always never"; | 
					
						
							|  |  |  |           "xx" = mkMerge [ | 
					
						
							|  |  |  |             "config-cycle statusbar.show always never" | 
					
						
							|  |  |  |             "config-cycle tabs.show always never" | 
					
						
							|  |  |  |           ]; | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | } |