refactor(home): replace custom Firefox module with home-manager's new mkFirefoxModule

- replaced core module with `mkFirefoxModule` from home-manager
- `mkFirefoxModuleCompat` was created as a wrapper around
  `mkFirefoxModule` for compatibility with other Firefox-based browser
  packages such as Tor/Mullvad Browser
- profile binary & desktop file creation moved into
  `mkFirefoxProfileBinModule`
This commit is contained in:
Felix Schröter 2025-02-13 23:00:00 +01:00
parent 921b59fa40
commit 8beb27389a
Signed by: felschr
GPG key ID: 671E39E6744C807D
6 changed files with 212 additions and 783 deletions

View file

@ -1,18 +1,31 @@
{
config,
lib,
pkgs,
...
}:
_:
let
common = import ./common.nix { inherit config lib pkgs; };
mkFirefoxModuleCompat = import ./mkFirefoxModuleCompat.nix;
mkFirefoxProfileBinModule = import ./mkFirefoxProfileBinModule.nix;
modulePath = [
"programs"
"tor-browser"
];
name = "Tor Browser";
packageName = "tor-browser";
in
common.mkModule {
name = "tor-browser";
displayName = "Tor Browser";
dataConfigPath = ".tor project/firefox";
defaultPackage = pkgs.tor-browser;
defaultPackageName = "pkgs.tor-browser";
isSecure = true;
{
imports = [
(mkFirefoxModuleCompat {
inherit modulePath name;
description = "Privacy-focused browser routing traffic through the Tor network";
unwrappedPackageName = packageName;
visible = true;
platforms.linux = rec {
vendorPath = ".tor project";
configPath = "${vendorPath}/firefox";
};
})
(mkFirefoxProfileBinModule {
inherit modulePath name packageName;
isSecure = true;
})
];
}