Switch back to firefox
This commit is contained in:
parent
82dcd1f0bd
commit
8c0260ea5c
6 changed files with 155 additions and 89 deletions
16
flake.lock
generated
16
flake.lock
generated
|
@ -106,6 +106,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1642744051,
|
||||||
|
"narHash": "sha256-9NPqm2Cya//c67FLvgb0pPNQJ/sswO2uZmkcUAEY1mg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "ec7f740c3e7446a42d9e152bda60c4fe056cc4e2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"accentor": "accentor",
|
"accentor": "accentor",
|
||||||
|
@ -113,6 +128,7 @@
|
||||||
"emacs-overlay": "emacs-overlay",
|
"emacs-overlay": "emacs-overlay",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nur": "nur",
|
||||||
"tetris": "tetris",
|
"tetris": "tetris",
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
tetris = {
|
tetris = {
|
||||||
url = "github:chvp/tetris";
|
url = "github:chvp/tetris";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -23,7 +24,7 @@
|
||||||
utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, accentor, agenix, emacs-overlay, home-manager, tetris, utils }:
|
outputs = inputs@{ self, nixpkgs, accentor, agenix, emacs-overlay, home-manager, nur, tetris, utils }:
|
||||||
let
|
let
|
||||||
customPackages = callPackage: {
|
customPackages = callPackage: {
|
||||||
jdtls = callPackage ./packages/jdtls { };
|
jdtls = callPackage ./packages/jdtls { };
|
||||||
|
@ -38,6 +39,7 @@
|
||||||
emacs-overlay.overlay
|
emacs-overlay.overlay
|
||||||
(self: super: customPackages self.callPackage)
|
(self: super: customPackages self.callPackage)
|
||||||
(self: super: { tetris = tetris.packages.x86_64-linux.tetris; })
|
(self: super: { tetris = tetris.packages.x86_64-linux.tetris; })
|
||||||
|
nur.overlay
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
hostDefaults = {
|
hostDefaults = {
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./firefox
|
||||||
./gnupg
|
./gnupg
|
||||||
./mail
|
./mail
|
||||||
./pass
|
./pass
|
||||||
./qutebrowser
|
|
||||||
./sound
|
./sound
|
||||||
./sway
|
./sway
|
||||||
./syncthing
|
./syncthing
|
||||||
|
@ -34,13 +34,13 @@
|
||||||
nix.unfreePackages = [ "google-chrome" ];
|
nix.unfreePackages = [ "google-chrome" ];
|
||||||
};
|
};
|
||||||
graphical = {
|
graphical = {
|
||||||
|
firefox.enable = lib.mkDefault true;
|
||||||
gnupg = {
|
gnupg = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
pinentryFlavor = "qt";
|
pinentryFlavor = "qt";
|
||||||
};
|
};
|
||||||
mail.enable = lib.mkDefault true;
|
mail.enable = lib.mkDefault true;
|
||||||
pass.enable = lib.mkDefault true;
|
pass.enable = lib.mkDefault true;
|
||||||
qutebrowser.enable = lib.mkDefault true;
|
|
||||||
sound.enable = lib.mkDefault true;
|
sound.enable = lib.mkDefault true;
|
||||||
sway.enable = lib.mkDefault true;
|
sway.enable = lib.mkDefault true;
|
||||||
syncthing.enable = lib.mkDefault true;
|
syncthing.enable = lib.mkDefault true;
|
||||||
|
|
129
modules/graphical/firefox/default.nix
Normal file
129
modules/graphical/firefox/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -32,11 +32,11 @@
|
||||||
"image/jpeg" = [ "org.kde.okular.desktop" ];
|
"image/jpeg" = [ "org.kde.okular.desktop" ];
|
||||||
"application/pdf" = [ "org.kde.okular.desktop" ];
|
"application/pdf" = [ "org.kde.okular.desktop" ];
|
||||||
|
|
||||||
"text/html" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
"text/html" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/about" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
"x-scheme-handler/about" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/http" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/https" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/unknown" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
"x-scheme-handler/unknown" = [ "firefox.desktop" ];
|
||||||
|
|
||||||
"x-scheme-handler/msteams" = [ "teams.desktop" ];
|
"x-scheme-handler/msteams" = [ "teams.desktop" ];
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue