From 110481af598c42d7a92170a852da13fbe581f84d Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Wed, 28 Jul 2021 18:52:06 +0200 Subject: [PATCH] Switch to qutebrowser --- flake.lock | 12 +++---- machines/kholinar/default.nix | 2 +- modules/graphical/default.nix | 5 ++- modules/graphical/firefox/default.nix | 19 ---------- modules/graphical/mail/default.nix | 12 +------ modules/graphical/pass/default.nix | 1 - modules/graphical/qutebrowser/default.nix | 42 +++++++++++++++++++++++ modules/graphical/sway/default.nix | 2 +- modules/graphical/xdg/default.nix | 10 +++--- modules/programs/dropbox/default.nix | 2 +- modules/programs/eid/default.nix | 5 --- modules/programs/hledger/default.nix | 6 ++-- 12 files changed, 63 insertions(+), 55 deletions(-) delete mode 100644 modules/graphical/firefox/default.nix create mode 100644 modules/graphical/qutebrowser/default.nix diff --git a/flake.lock b/flake.lock index 22881e1d..b0263213 100644 --- a/flake.lock +++ b/flake.lock @@ -42,11 +42,11 @@ }, "emacs-overlay": { "locked": { - "lastModified": 1627479923, - "narHash": "sha256-+a9mSSyGSWnx/iC5J8Q9E3VlgUvvTDLI5NU14W6L/+A=", + "lastModified": 1627492758, + "narHash": "sha256-F0MvuI2klvuJHctBxzptT2jXcTO8QydkyzmeXw7HiBI=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "0fce209cb26c7f56090406058065081a3cddc76a", + "rev": "ddb0d59fb57b0f274a2a61881fbbad10ab79ee4c", "type": "github" }, "original": { @@ -77,11 +77,11 @@ ] }, "locked": { - "lastModified": 1627422633, - "narHash": "sha256-9UvA3wn0xap6WLjhE7+90JwCD+PNj630qt721XRC3TQ=", + "lastModified": 1627501942, + "narHash": "sha256-rG2PUTgzmXvf/fSDCWKhlRwZjZs1/0TySC5eYHVJrmg=", "owner": "nix-community", "repo": "home-manager", - "rev": "ae8cb242f2e450c525274732af58b3050399f5bd", + "rev": "2272fc312d5dc477e70816d94e550d08729b307b", "type": "github" }, "original": { diff --git a/machines/kholinar/default.nix b/machines/kholinar/default.nix index 93c647c8..e0c2a744 100644 --- a/machines/kholinar/default.nix +++ b/machines/kholinar/default.nix @@ -35,7 +35,7 @@ programs = { calibre.enable = false; deluge.enable = true; - dropbox.enable = true; + dropbox.enable = false; eid.enable = true; hledger.enable = true; obs.enable = true; diff --git a/modules/graphical/default.nix b/modules/graphical/default.nix index 4e58cfbb..f161137c 100644 --- a/modules/graphical/default.nix +++ b/modules/graphical/default.nix @@ -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; @@ -56,7 +56,6 @@ mpv okular ranger - ungoogled-chromium youtube-dl ]; }; diff --git a/modules/graphical/firefox/default.nix b/modules/graphical/firefox/default.nix deleted file mode 100644 index 5c2d56f7..00000000 --- a/modules/graphical/firefox/default.nix +++ /dev/null @@ -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 ]; - }; - }; -} diff --git a/modules/graphical/mail/default.nix b/modules/graphical/mail/default.nix index 3bc0adea..20508050 100644 --- a/modules/graphical/mail/default.nix +++ b/modules/graphical/mail/default.nix @@ -289,17 +289,7 @@ in }; }; }; - home = { - 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 - ''; - }; + home.packages = [ pkgs.khal pkgs.khard ]; xdg.configFile = { "khal/config".text = toRecursiveINI { calendars = { diff --git a/modules/graphical/pass/default.nix b/modules/graphical/pass/default.nix index 3a57056f..edcef8c6 100644 --- a/modules/graphical/pass/default.nix +++ b/modules/graphical/pass/default.nix @@ -9,7 +9,6 @@ config = lib.mkIf config.chvp.graphical.pass.enable { nixpkgs.overlays = [ (self: super: { - firefox = super.firefox.override { extraNativeMessagingHosts = [ self.passff-host ]; }; pass = (super.pass.override { pass = super.pass-wayland; }).withExtensions (ext: [ ext.pass-otp ]); }) ]; diff --git a/modules/graphical/qutebrowser/default.nix b/modules/graphical/qutebrowser/default.nix new file mode 100644 index 00000000..ec97f21a --- /dev/null +++ b/modules/graphical/qutebrowser/default.nix @@ -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; + }; + }; + }; + }; +} diff --git a/modules/graphical/sway/default.nix b/modules/graphical/sway/default.nix index e822bd35..666067dc 100644 --- a/modules/graphical/sway/default.nix +++ b/modules/graphical/sway/default.nix @@ -149,7 +149,7 @@ in workspace 9 output DP-3 DP-4 DP-5 HDMI-A-1 eDP-1 workspace 1 - exec ${pkgs.firefox}/bin/firefox + exec ${pkgs.qutebrowser}/bin/qutebrowser no_focus [title="Microsoft Teams Notification"] diff --git a/modules/graphical/xdg/default.nix b/modules/graphical/xdg/default.nix index a402502a..b7cf8bb3 100644 --- a/modules/graphical/xdg/default.nix +++ b/modules/graphical/xdg/default.nix @@ -32,11 +32,11 @@ "image/jpeg" = [ "org.kde.okular.desktop" ]; "application/pdf" = [ "org.kde.okular.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" ]; + "text/html" = [ "qutebrowser.desktop" ]; + "x-scheme-handler/about" = [ "qutebrowser.desktop" ]; + "x-scheme-handler/http" = [ "qutebrowser.desktop" ]; + "x-scheme-handler/https" = [ "qutebrowser.desktop" ]; + "x-scheme-handler/unknown" = [ "qutebrowser.desktop" ]; "x-scheme-handler/msteams" = [ "teams.desktop" ]; }; diff --git a/modules/programs/dropbox/default.nix b/modules/programs/dropbox/default.nix index 3e62f4e7..18fdf698 100644 --- a/modules/programs/dropbox/default.nix +++ b/modules/programs/dropbox/default.nix @@ -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; }) ]; home-manager.users.charlotte = { pkgs, ... }: { diff --git a/modules/programs/eid/default.nix b/modules/programs/eid/default.nix index 5fe5197d..424a5b15 100644 --- a/modules/programs/eid/default.nix +++ b/modules/programs/eid/default.nix @@ -8,11 +8,6 @@ config = lib.mkIf config.chvp.programs.eid.enable { environment.systemPackages = [ pkgs.eid-mw ]; - nixpkgs.overlays = [ - (self: super: { - firefox = super.firefox.override { pkcs11Modules = [ self.eid-mw ]; }; - }) - ]; services.pcscd = { enable = true; plugins = [ pkgs.ccid ]; diff --git a/modules/programs/hledger/default.nix b/modules/programs/hledger/default.nix index 7cb849df..c6172eda 100644 --- a/modules/programs/hledger/default.nix +++ b/modules/programs/hledger/default.nix @@ -33,13 +33,15 @@ in ]; 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 { hledger = hsuper.callCabal2nixWithOptions "hledger" hledger-repo "--subpath hledger" { }; hledger-lib = hsuper.callCabal2nixWithOptions "hledger-lib" hledger-repo "--subpath hledger-lib" { }; doctest = hsuper.doctest_0_18_1; }; - }).hledger) ]; + }).hledger) + ]; }; }; }