about summary refs log tree commit diff stats
path: root/modules/by-name/qu/qutebrowser
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/qu/qutebrowser')
-rw-r--r--modules/by-name/qu/qutebrowser/module.nix23
-rw-r--r--modules/by-name/qu/qutebrowser/settings/default.nix17
2 files changed, 31 insertions, 9 deletions
diff --git a/modules/by-name/qu/qutebrowser/module.nix b/modules/by-name/qu/qutebrowser/module.nix
index 20ab8e4b..dab06237 100644
--- a/modules/by-name/qu/qutebrowser/module.nix
+++ b/modules/by-name/qu/qutebrowser/module.nix
@@ -11,19 +11,38 @@
     xdg_data_home = config.home-manager.users.soispha.xdg.dataHome;
     xdg_config_home = config.home-manager.users.soispha.xdg.configHome;
 
-    mkQutebrowser = name:
+    mkQutebrowser = name: let
+      statusbar_widgets = [
+        "keypress"
+        "text:${name}"
+        "search_match"
+        "url"
+        "scroll"
+        "history"
+        "tabs"
+        "progress"
+      ];
+
+      statusbar_widgets_str =
+        # NOTE(@bpeetz): We need either two layers of escaping or the binary wrapper, as we first inline this
+        # into the runCommand below, and then into the actual qutebrowser wrapper script. <2025-06-16>
+        lib.strings.escapeShellArg (builtins.toJSON statusbar_widgets);
+    in
       pkgs.runCommandLocal "qutebrowser-${name}" {
         nativeBuildInputs = [
           pkgs.makeBinaryWrapper
         ];
       }
       ''
-        makeWrapper ${pkgs.qutebrowser-patched} "$out/bin/qutebrowser-${name}" \
+        makeWrapper ${lib.getExe pkgs.qutebrowser-patched} "$out/bin/qutebrowser-${name}" \
           --add-flags --no-err-windows \
           --add-flags --basedir \
           --add-flags "${xdg_data_home}/qutebrowser/${name}" \
           --add-flags --config \
           --add-flags "${xdg_config_home}/qutebrowser/config.py" \
+          --add-flags --set \
+          --add-flags statusbar.widgets \
+          --add-flags ${statusbar_widgets_str}
       '';
   in
     builtins.filter (val: val != null) (lib.mapAttrsToList (name: value:
diff --git a/modules/by-name/qu/qutebrowser/settings/default.nix b/modules/by-name/qu/qutebrowser/settings/default.nix
index 20e02e93..282c5816 100644
--- a/modules/by-name/qu/qutebrowser/settings/default.nix
+++ b/modules/by-name/qu/qutebrowser/settings/default.nix
@@ -7,7 +7,7 @@
   second = 1000 * millisecond;
 
   wordlist =
-    pkgs.runCommandNoCCLocal "wordlist" {
+    pkgs.runCommandLocal "wordlist" {
       nativeBuildInputs = [pkgs.python3];
     }
     ''
@@ -410,8 +410,7 @@ in {
 
   session = {
     default_name = null;
-    # TODO(@bpeetz): See https://github.com/qutebrowser/qutebrowser/issues/67 <2025-06-04>
-    lazy_restore = false;
+    lazy_restore = true;
   };
 
   spellcheck = {
@@ -430,7 +429,11 @@ in {
 
     position = "top";
     show = "always";
-    widgets = ["keypress" "search_match" "url" "scroll" "history" "tabs" "progress"];
+    widgets = [
+      /*
+      Already set in the wrappers
+      */
+    ];
   };
 
   tabs = {
@@ -493,10 +496,10 @@ in {
 
     open_base_url = false; # Of search engine.
     searchengines = rec {
-      DEFAULT = leta;
+      DEFAULT = duckduckgo;
 
-      leta = "https://leta.mullvad.net/search?q={}";
-      "@ls" = leta;
+      duckduckgo = "https://duckduckgo.com/search?q={}";
+      "@du" = duckduckgo;
 
       # NIX
       "@np" = "https://search.nixos.org/packages?type=packages&query={}"; # Nix packages