mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 13:50:04 +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 = { |   puzzlevision = { | ||||||
|     themes.catppuccin.enable = true; |     themes.catppuccin.enable = true; | ||||||
|     apps.zed.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 = { |   sops.secrets.wakatime-cfg = { | ||||||
|  | @ -27,7 +40,6 @@ | ||||||
|     enpass |     enpass | ||||||
| 
 | 
 | ||||||
|     ## WEB |     ## WEB | ||||||
|     firefox |  | ||||||
|     ungoogled-chromium |     ungoogled-chromium | ||||||
| 
 | 
 | ||||||
|     ## EDITORS |     ## 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