feat: update firefox config

This commit is contained in:
Felix Schröter 2020-09-07 12:52:36 +02:00
parent 5e497e6efd
commit 0138aa4c70
No known key found for this signature in database
GPG key ID: 910ACB9F6BD26F58

View file

@ -47,6 +47,7 @@ let
"services.sync.engine.passwords" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
};
in
{
@ -71,6 +72,8 @@ in
https-everywhere
ublock-origin
decentraleyes
clearurls
terms-of-service-didnt-read
vimium
ipfs-companion
firefox-addons."1password-x-password-manager"
@ -78,6 +81,7 @@ in
# not available yet:
# languagetool
# fx_cast
# google-lighthouse
];
};
@ -85,18 +89,29 @@ in
escapeDesktopArg = arg: replaceStrings ["\""] ["\"\\\"\""] (toString arg);
makeFirefoxProfileDesktopItem = attrs:
let
mkExec = with lib; { profile, ... }: ''
firefox -p "${ escapeDesktopArg profile }"
mkExec = with lib; { name, profile, ... }: ''
firefox -p "${ escapeDesktopArg profile }" --class="firefox-${ escapeDesktopArg name }"
'';
in
pkgs.makeDesktopItem ((removeAttrs attrs [ "profile" ]) // { exec = mkExec attrs; });
pkgs.makeDesktopItem ((removeAttrs attrs [ "profile" ]) // {
exec = mkExec attrs;
extraEntries = ''
StartupWMClass="${ escapeDesktopArg attrs.name }"
'';
});
makeFirefoxWebAppDesktopItem = attrs:
let
mkExec = with lib; { app, profile ? "private", ... }: ''
firefox -p "${ escapeDesktopArg profile }" --ssb="${ escapeDesktopArg app }"
# --class not yet respected: https://bugzilla.mozilla.org/show_bug.cgi?id=1606247
mkExec = with lib; { app, name, profile ? "private", ... }: ''
firefox -p "${ escapeDesktopArg profile }" --ssb="${ escapeDesktopArg app }" --class="${ escapeDesktopArg name }"
'';
in
pkgs.makeDesktopItem ((removeAttrs attrs [ "app" "profile" ]) // { exec = mkExec attrs; });
pkgs.makeDesktopItem ((removeAttrs attrs [ "app" "profile" ]) // {
exec = mkExec attrs;
extraEntries = ''
StartupWMClass="${ escapeDesktopArg attrs.name }"
'';
});
in
(with pkgs; [
(tor-browser-bundle-bin.override { pulseaudioSupport = true; })
@ -105,9 +120,14 @@ in
(makeFirefoxProfileDesktopItem {
name = "firefox-work";
desktopName = "Firefox (Work)";
icon = "firefox.png";
icon = "firefox"; # TODO looks different
profile = "work";
})
(makeFirefoxWebAppDesktopItem {
name = "element";
desktopName = "Element";
app = "https://app.element.io";
})
(makeFirefoxWebAppDesktopItem {
name = "youtube-music";
desktopName = "YouTube Music";