mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 05:40:05 +00:00 
			
		
		
		
	✨ Add Firefox home module and recursively generate extension list
This commit is contained in:
		
							parent
							
								
									459a0427c3
								
							
						
					
					
						commit
						92eb3abcdf
					
				
					 2 changed files with 52 additions and 1 deletions
				
			
		|  | @ -12,6 +12,19 @@ | |||
|   puzzlevision = { | ||||
|     themes.catppuccin.enable = true; | ||||
|     apps.zed.enable = true; | ||||
|     apps.firefox = { | ||||
|       enable = true; | ||||
|       extensions = [ | ||||
|         "uBlock0@raymondhill.net" | ||||
|         "ATBC@EasonWong" | ||||
|         "languagetool-webextension@languagetool.org" | ||||
|         "firefox-enpass@enpass.io" | ||||
|         "firefox@tampermonkey.net" | ||||
|         "wappalyzer@crunchlabz.com" | ||||
|         "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}" | ||||
|         "{d49033ac-8969-488c-afb0-5cdb73957f41}" | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   sops.secrets.wakatime-cfg = { | ||||
|  | @ -27,7 +40,6 @@ | |||
|     enpass | ||||
| 
 | ||||
|     ## WEB | ||||
|     firefox | ||||
|     ungoogled-chromium | ||||
| 
 | ||||
|     ## EDITORS | ||||
|  |  | |||
							
								
								
									
										39
									
								
								modules/home/apps/firefox/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								modules/home/apps/firefox/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| { | ||||
|   lib, | ||||
|   self, | ||||
|   config, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (self) namespace; | ||||
|   inherit (self.lib) mkOpt; | ||||
|   inherit (lib) mkEnableOption types mkIf; | ||||
| 
 | ||||
|   cfg = config.${namespace}.apps.firefox; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.apps.firefox = { | ||||
|     enable = mkEnableOption "the Firefox browser."; | ||||
|     extensions = mkOpt (types.listOf types.str) [ | ||||
|       "uBlock0@raymondhill.net" | ||||
|     ] "List of extension slugs to install"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     programs.firefox = { | ||||
|       enable = true; | ||||
|       policies = { | ||||
|         ExtensionSettings = builtins.foldl' ( | ||||
|           acc: id: | ||||
|           acc | ||||
|           // { | ||||
|             ${id} = { | ||||
|               install_url = "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi"; | ||||
|               installation_mode = "force_installed"; | ||||
|             }; | ||||
|           } | ||||
|         ) { } cfg.extensions; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue