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