Switch back to firefox

This commit is contained in:
Charlotte Van Petegem 2022-01-21 13:23:24 +01:00
parent 82dcd1f0bd
commit 8c0260ea5c
No known key found for this signature in database
GPG key ID: 019E764B7184435A
6 changed files with 155 additions and 89 deletions

View file

@ -2,10 +2,10 @@
{
imports = [
./firefox
./gnupg
./mail
./pass
./qutebrowser
./sound
./sway
./syncthing
@ -34,13 +34,13 @@
nix.unfreePackages = [ "google-chrome" ];
};
graphical = {
firefox.enable = lib.mkDefault true;
gnupg = {
enable = lib.mkDefault true;
pinentryFlavor = "qt";
};
mail.enable = lib.mkDefault true;
pass.enable = lib.mkDefault true;
qutebrowser.enable = lib.mkDefault true;
sound.enable = lib.mkDefault true;
sway.enable = lib.mkDefault true;
syncthing.enable = lib.mkDefault true;

View file

@ -0,0 +1,129 @@
{ config, lib, pkgs, ... }:
let
ff2mpv = pkgs.stdenv.mkDerivation rec {
pname = "ff2mpv";
version = "3.9.1";
src = pkgs.fetchFromGitHub {
owner = "woodruffw";
repo = "ff2mpv";
rev = "v${version}";
sha256 = "j2VjHRhadLaftWRv0zrzOyg/pizD/kvr9RBb2ozjKDw=";
};
buildInputs = [ pkgs.python3 ];
buildPhase = ''
sed -i "s#/home/william/scripts/ff2mpv#$out/bin/ff2mpv.py#" ff2mpv.json
'';
installPhase = ''
mkdir -p $out/bin
cp ff2mpv.py $out/bin
mkdir -p $out/lib/mozilla/native-messaging-hosts
cp ff2mpv.json $out/lib/mozilla/native-messaging-hosts
'';
};
in
{
options.chvp.graphical.firefox.enable = lib.mkEnableOption "firefox";
config = lib.mkIf config.chvp.graphical.firefox.enable {
chvp.base.zfs.homeLinks = [
{ path = ".mozilla"; type = "data"; }
{ path = ".cache/mozilla"; type = "cache"; }
];
home-manager.users.charlotte = { ... }: {
programs = {
browserpass = {
enable = true;
browsers = [ "firefox" ];
};
firefox = {
enable = true;
package = pkgs.firefox.override {
extraNativeMessagingHosts = [ ff2mpv ];
pkcs11Modules = [ pkgs.eid-mw ];
forceWayland = true;
extraPolicies = {
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
DisableFirefoxAccounts = true;
FirefoxHome = { Pocket = false; Snippets = false; };
OfferToSaveLogins = false;
UserMessaging = { SkipOnboarding = true; ExtensionRecommendations = false; };
SearchEngines = {
Default = "DuckDuckGo";
Add = [
{
Name = "DuckDuckGo";
Description = "DuckDuckGo";
Alias = "ddg";
URLTemplate = "https://html.duckduckgo.com/html?q={searchTerms}";
SuggestURLTemplate = "https://duckduckgo.com/ac/?q={searchTerms}&type=list";
Method = "GET";
IconURL = "https://duckduckgo.com/favicon.ico";
}
];
Remove = [ "Google" "Amazon.nl" "Bing" "eBay" "Wikipedia (en)" ];
};
};
};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
(buildFirefoxXpiAddon rec {
pname = "belgium-eid";
version = "1.0.32";
addonId = "belgiumeid@eid.belgium.be";
url = "https://addons.mozilla.org/firefox/downloads/file/3736679/eid_belgie-${version}-fx.xpi";
sha256 = "t2zbE58IuHeAlM91lNX4rbiWLzt5sQq350b1PRdSY7w=";
meta = with lib; {
homepage = "https://eid.belgium.be/";
description = "Use the Belgian electronic identity card (eID) in Firefox";
license = licenses.lgpl3;
platforms = platforms.all;
};
})
(buildFirefoxXpiAddon rec {
pname = "better-tweetdeck";
version = "4.7.2";
addonId = "BetterTweetDeck@erambert.me";
url = "https://addons.mozilla.org/firefox/downloads/file/3897452/better_tweetdeck-${version}-fx.xpi";
sha256 = "zme93hAAaxIkKg7dO+SVhv1XU7dTzMWZlrd237uZ1zg=";
meta = with lib; {
license = licenses.mit;
platforms = platforms.all;
};
})
browserpass
decentraleyes
(buildFirefoxXpiAddon rec {
pname = "ff2mpv";
version = "3.9.1";
addonId = "ff2mpv@yossarian.net";
url = "https://addons.mozilla.org/firefox/downloads/file/3874208/ff2mpv-${version}-fx.xpi";
sha256 = "AJO9h2jv/VmqlfShu8q7VqJ7N+bGBtippaODZeCCM6I=";
meta = with lib; {
license = licenses.mit;
platforms = platforms.all;
};
})
https-everywhere
ublock-origin
umatrix
(buildFirefoxXpiAddon rec {
pname = "zotero-connector";
version = "5.0.92";
addonId = "zotero@chnm.gmu.edu";
url = "https://download.zotero.org/connector/firefox/release/Zotero_Connector-${version}.xpi";
sha256 = "DfaDjjgJiSGJ0q9ScStAVRN3IcH8HY30K7IssuHZi2A=";
meta = with lib; {
homepage = "https://www.zotero.org";
description = "Save references to Zotero from your web browser";
license = licenses.agpl3;
platforms = platforms.all;
};
})
];
};
};
};
};
}

View file

@ -1,81 +0,0 @@
{ config, lib, pkgs, ... }:
{
options.chvp.graphical.qutebrowser.enable = lib.mkOption {
default = false;
example = true;
};
config = lib.mkIf config.chvp.graphical.qutebrowser.enable {
nixpkgs.overlays = [
(self: super: {
qutebrowser = super.qutebrowser.overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [
(self.fetchpatch {
url = "https://github.com/qutebrowser/qutebrowser/pull/6626.patch";
sha256 = "NuKHpjEILEfabLKXVatuNBX1a+6TelIBAauYQKW1zGI=";
})
];
});
})
];
chvp.base.zfs.homeLinks = [
{ path = ".config/qutebrowser"; type = "data"; }
{ path = ".local/share/qutebrowser"; type = "cache"; }
];
home-manager.users.charlotte = { ... }: {
programs.qutebrowser = {
enable = true;
loadAutoconfig = true;
aliases = {
save-to-zotero = "jseval --quiet var d=document,s=d.createElement('script');s.src='https://www.zotero.org/bookmarklet/loader.js';(d.body?d.body:d.documentElement).appendChild(s);void(0);";
open-in-temp = "spawn qutebrowser --temp-basedir -s downloads.location.directory /home/charlotte/downloads {url}";
hint-open-in-temp = "hint links spawn qutebrowser --temp-basedir -s downloads.location.directory /home/charlotte/downloads {hint-url}";
};
keyBindings = {
normal = {
",m" = "hint links spawn umpv {hint-url}";
",M" = "hint --rapid links spawn umpv {hint-url}";
",p" = "spawn --userscript qute-pass";
# Toggle all by opening in temporary browser
"tt" = "open-in-temp";
"tT" = "hint-open-in-temp";
# Cookie toggle (all removed from defaults)
"tCH" = "config-cycle -p -u *://*.{url:host}/* content.cookies.accept no-3rdparty never ;; reload";
"tCh" = "config-cycle -p -u *://{url:host}/* content.cookies.accept no-3rdparty never ;; reload";
"tCu" = "config-cycle -p -u {url} content.cookies.accept no-3rdparty never ;; reload";
"tcH" = "config-cycle -p -t -u *://*.{url:host}/* content.cookies.accept no-3rdparty never ;; reload";
"tch" = "config-cycle -p -t -u *://{url:host}/* content.cookies.accept no-3rdparty never ;; reload";
"tcu" = "config-cycle -p -t -u {url} content.cookies.accept no-3rdparty never ;; reload";
};
};
searchEngines = {
DEFAULT = "https://html.duckduckgo.com/html?q={}";
};
settings = {
auto_save.session = true;
confirm_quit = [ "downloads" ];
content = {
autoplay = false;
cookies.accept = "never";
default_encoding = "utf-8";
dns_prefetch = false;
fullscreen.window = true;
javascript.enabled = false;
geolocation = false;
pdfjs = true;
};
editor.command = [ "${config.chvp.base.emacs.package}/bin/emacsclient" "-c" "+{line}:{column}" "{file}" ];
fonts = {
default_family = "Fira Code";
default_size = "9pt";
};
url.default_page = "about:blank";
window.hide_decoration = true;
};
};
};
};
}

View file

@ -32,11 +32,11 @@
"image/jpeg" = [ "org.kde.okular.desktop" ];
"application/pdf" = [ "org.kde.okular.desktop" ];
"text/html" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/about" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/http" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/https" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/unknown" = [ "org.qutebrowser.qutebrowser.desktop" ];
"text/html" = [ "firefox.desktop" ];
"x-scheme-handler/about" = [ "firefox.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ];
"x-scheme-handler/unknown" = [ "firefox.desktop" ];
"x-scheme-handler/msteams" = [ "teams.desktop" ];
};