Switch to qutebrowser

This commit is contained in:
Charlotte Van Petegem 2021-07-28 18:52:06 +02:00
parent 93a25ba89a
commit 110481af59
No known key found for this signature in database
GPG key ID: 019E764B7184435A
12 changed files with 63 additions and 55 deletions

12
flake.lock generated
View file

@ -42,11 +42,11 @@
}, },
"emacs-overlay": { "emacs-overlay": {
"locked": { "locked": {
"lastModified": 1627479923, "lastModified": 1627492758,
"narHash": "sha256-+a9mSSyGSWnx/iC5J8Q9E3VlgUvvTDLI5NU14W6L/+A=", "narHash": "sha256-F0MvuI2klvuJHctBxzptT2jXcTO8QydkyzmeXw7HiBI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "0fce209cb26c7f56090406058065081a3cddc76a", "rev": "ddb0d59fb57b0f274a2a61881fbbad10ab79ee4c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -77,11 +77,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1627422633, "lastModified": 1627501942,
"narHash": "sha256-9UvA3wn0xap6WLjhE7+90JwCD+PNj630qt721XRC3TQ=", "narHash": "sha256-rG2PUTgzmXvf/fSDCWKhlRwZjZs1/0TySC5eYHVJrmg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "ae8cb242f2e450c525274732af58b3050399f5bd", "rev": "2272fc312d5dc477e70816d94e550d08729b307b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -35,7 +35,7 @@
programs = { programs = {
calibre.enable = false; calibre.enable = false;
deluge.enable = true; deluge.enable = true;
dropbox.enable = true; dropbox.enable = false;
eid.enable = true; eid.enable = true;
hledger.enable = true; hledger.enable = true;
obs.enable = true; obs.enable = true;

View file

@ -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;
@ -56,7 +56,6 @@
mpv mpv
okular okular
ranger ranger
ungoogled-chromium
youtube-dl youtube-dl
]; ];
}; };

View file

@ -1,19 +0,0 @@
{ config, lib, pkgs, ... }:
{
options.chvp.graphical.firefox.enable = lib.mkOption {
default = false;
example = true;
};
config = lib.mkIf config.chvp.graphical.firefox.enable {
chvp.base.zfs.homeLinks = [
{ path = ".cache/mozilla"; type = "cache"; }
{ path = ".mozilla"; type = "data"; }
];
home-manager.users.charlotte = { ... }: {
home.packages = with pkgs; [ firefox ];
};
};
}

View file

@ -289,17 +289,7 @@ in
}; };
}; };
}; };
home = { home.packages = [ pkgs.khal pkgs.khard ];
packages = [ pkgs.khal pkgs.khard ];
file.".mailcap".text = ''
text/html; ${pkgs.firefox}/bin/firefox %s ; nametemplate=%s.html; needsterminal
text/html; ${pkgs.w3m}/bin/w3m -dump -o display_link_number=1 -o document_charset=%{charset} %s ; copiousoutput; nametemplate=%s.html
text/calendar; ${pkgs.khal}/bin/khal import %s;
application/pdf; ${pkgs.okular}/bin/okular %s
image/png; ${pkgs.okular}/bin/okular %s
image/jpeg; ${pkgs.okular}/bin/okular %s
'';
};
xdg.configFile = { xdg.configFile = {
"khal/config".text = toRecursiveINI { "khal/config".text = toRecursiveINI {
calendars = { calendars = {

View file

@ -9,7 +9,6 @@
config = lib.mkIf config.chvp.graphical.pass.enable { config = lib.mkIf config.chvp.graphical.pass.enable {
nixpkgs.overlays = [ nixpkgs.overlays = [
(self: super: { (self: super: {
firefox = super.firefox.override { extraNativeMessagingHosts = [ self.passff-host ]; };
pass = (super.pass.override { pass = super.pass-wayland; }).withExtensions (ext: [ ext.pass-otp ]); pass = (super.pass.override { pass = super.pass-wayland; }).withExtensions (ext: [ ext.pass-otp ]);
}) })
]; ];

View file

@ -0,0 +1,42 @@
{ config, lib, pkgs, ... }:
{
options.chvp.graphical.qutebrowser.enable = lib.mkOption {
default = false;
example = true;
};
config = lib.mkIf config.chvp.graphical.qutebrowser.enable {
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);";
};
keyBindings = {
normal = {
",m" = "hint links spawn umpv {hint-url}";
",M" = "hint --rapid links spawn umpv {hint-url}";
",p" = "spawn --userscript qute-pass";
};
};
settings = {
auto_save.session = true;
confirm_quit = [ "downloads" ];
content = {
autoplay = false;
cookies.accept = "no-3rdparty";
default_encoding = "utf-8";
dns_prefetch = false;
geolocation = false;
pdfjs = true;
};
editor.command = [ "${config.chvp.base.emacs.package}/bin/emacsclient" "-c" "+{line}:{column}" "{file}" ];
url.default_page = "about:blank";
window.hide_decoration = true;
};
};
};
};
}

View file

@ -149,7 +149,7 @@ in
workspace 9 output DP-3 DP-4 DP-5 HDMI-A-1 eDP-1 workspace 9 output DP-3 DP-4 DP-5 HDMI-A-1 eDP-1
workspace 1 workspace 1
exec ${pkgs.firefox}/bin/firefox exec ${pkgs.qutebrowser}/bin/qutebrowser
no_focus [title="Microsoft Teams Notification"] no_focus [title="Microsoft Teams Notification"]

View file

@ -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" = [ "firefox.desktop" ]; "text/html" = [ "qutebrowser.desktop" ];
"x-scheme-handler/about" = [ "firefox.desktop" ]; "x-scheme-handler/about" = [ "qutebrowser.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ]; "x-scheme-handler/http" = [ "qutebrowser.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ]; "x-scheme-handler/https" = [ "qutebrowser.desktop" ];
"x-scheme-handler/unknown" = [ "firefox.desktop" ]; "x-scheme-handler/unknown" = [ "qutebrowser.desktop" ];
"x-scheme-handler/msteams" = [ "teams.desktop" ]; "x-scheme-handler/msteams" = [ "teams.desktop" ];
}; };

View file

@ -15,7 +15,7 @@
]; ];
}; };
# Avoids a double firefox install, see https://github.com/NixOS/nixpkgs/pull/31772 # `firefox-bin` is unfree, and unnecessary
nixpkgs.overlays = [ (self: super: { firefox-bin = self.firefox; }) ]; nixpkgs.overlays = [ (self: super: { firefox-bin = self.firefox; }) ];
home-manager.users.charlotte = { pkgs, ... }: { home-manager.users.charlotte = { pkgs, ... }: {

View file

@ -8,11 +8,6 @@
config = lib.mkIf config.chvp.programs.eid.enable { config = lib.mkIf config.chvp.programs.eid.enable {
environment.systemPackages = [ pkgs.eid-mw ]; environment.systemPackages = [ pkgs.eid-mw ];
nixpkgs.overlays = [
(self: super: {
firefox = super.firefox.override { pkcs11Modules = [ self.eid-mw ]; };
})
];
services.pcscd = { services.pcscd = {
enable = true; enable = true;
plugins = [ pkgs.ccid ]; plugins = [ pkgs.ccid ];

View file

@ -33,13 +33,15 @@ in
]; ];
home-manager.users.charlotte = { ... }: { home-manager.users.charlotte = { ... }: {
home.packages = [ (pkgs.haskell.lib.justStaticExecutables (pkgs.haskellPackages.override { home.packages = [
(pkgs.haskell.lib.justStaticExecutables (pkgs.haskellPackages.override {
overrides = hself: hsuper: rec { overrides = hself: hsuper: rec {
hledger = hsuper.callCabal2nixWithOptions "hledger" hledger-repo "--subpath hledger" { }; hledger = hsuper.callCabal2nixWithOptions "hledger" hledger-repo "--subpath hledger" { };
hledger-lib = hsuper.callCabal2nixWithOptions "hledger-lib" hledger-repo "--subpath hledger-lib" { }; hledger-lib = hsuper.callCabal2nixWithOptions "hledger-lib" hledger-repo "--subpath hledger-lib" { };
doctest = hsuper.doctest_0_18_1; doctest = hsuper.doctest_0_18_1;
}; };
}).hledger) ]; }).hledger)
];
}; };
}; };
} }