Commit Diff


commit - fa56b1c7662bfc7c80c868d38e292bfd9f8215f8
commit + c3df75e68ae5c627eb77b5817dd4b0ce9bd611e2
blob - b8a912683c5998c12397b49726518466eacff6de
blob + 464e0fbd4deffb00a139c5ebfeb8bfb89ba13140
Binary files hosts/furion/configuration.nix and hosts/furion/configuration.nix differ
blob - ba1427375291d0264e04d0250f4ffac2ea692dfc
blob + 2d8ccde1c7fad52c39d13d8ec13785168176c07c
--- hosts/void/default.nix
+++ hosts/void/default.nix
@@ -49,6 +49,7 @@
       yq
       jdupes
       plakar
+      recoll
     ];
 
     vcs = [
blob - 6a83ea329b84d2827cbbd0207905a049c5f5c970
blob + 3f4b387c8ea540fa8a84e381ff22f7edebe9dc9e
--- hosts/void/overlays/bin/habit
+++ hosts/void/overlays/bin/habit
@@ -1,9 +1,10 @@
 #!/bin/sh
-pid=$(pgrep -u "$(id -u)" -x river | head -1)
+pid=$(pgrep -u "$(id -u)" -x 'volare|river|fnott' | head -1)
 
-if [ -n "$pid" ]; then
-	DBUS_SESSION_BUS_ADDRESS=$(tr '\0' '\n' </proc/"$pid"/environ | grep '^DBUS_SESSION_BUS_ADDRESS=' | cut -d= -f2-)
-	export DBUS_SESSION_BUS_ADDRESS
-fi
+# no compositor/notification daemon running — nobody to notify
+[ -n "$pid" ] || exit 0
 
+DBUS_SESSION_BUS_ADDRESS=$(tr '\0' '\n' </proc/"$pid"/environ | grep '^DBUS_SESSION_BUS_ADDRESS=' | cut -d= -f2-)
+export DBUS_SESSION_BUS_ADDRESS
+
 WAYLAND_DISPLAY=wayland-1 DISPLAY=:0 /usr/sbin/notify-send --expire-time=0 "$@"
blob - 08fc9ccac357460b2e1b2acb24ecc07dbf98144f
blob + 52c215cad03415e2abfdb5157db453de640dc40e
--- hosts/void/overlays/bin/khaln_cron
+++ hosts/void/overlays/bin/khaln_cron
@@ -1,9 +1,10 @@
 #!/bin/sh
-pid=$(pgrep -u "$(id -u)" -x river | head -1)
+pid=$(pgrep -u "$(id -u)" -x 'volare|river|fnott' | head -1)
 
-if [ -n "$pid" ]; then
-	DBUS_SESSION_BUS_ADDRESS=$(tr '\0' '\n' </proc/"$pid"/environ | grep '^DBUS_SESSION_BUS_ADDRESS=' | cut -d= -f2-)
-	export DBUS_SESSION_BUS_ADDRESS
-fi
+# no compositor/notification daemon running — nobody to notify
+[ -n "$pid" ] || exit 0
 
+DBUS_SESSION_BUS_ADDRESS=$(tr '\0' '\n' </proc/"$pid"/environ | grep '^DBUS_SESSION_BUS_ADDRESS=' | cut -d= -f2-)
+export DBUS_SESSION_BUS_ADDRESS
+
 WAYLAND_DISPLAY=wayland-1 DISPLAY=:0 /home/miro/bin/khal_notifier "$@"
blob - 92754fba4f0c97d4edd1bf914c5bf0492cf02c3c (mode 755)
blob + 92754fba4f0c97d4edd1bf914c5bf0492cf02c3c (mode 644)
blob - cd049aa6271f6182abf890da926e2c5d5c3d5711
blob + 2e3511d97dbae8285cea2adbab4f773ae6f3e3df
Binary files hosts/void/overlays/config/plakar/sources.yml and hosts/void/overlays/config/plakar/sources.yml differ
blob - 919095a4610c795406fed50d62e9ab4058a60aec
blob + 861b5e9fe5887e520fef1c1ba48ae802cab5470a
--- hosts/void/overlays/config/volare/config
+++ hosts/void/overlays/config/volare/config
@@ -169,6 +169,7 @@ exec kanshi
 exec psi-notify
 exec memcached
 exec nix-daemon
+exec hister listen
 
 font Fragment Mono 10
 
blob - /dev/null
blob + 66c4d523e6fe94b17dd4e672fd6780bbe58d3920 (mode 644)
--- /dev/null
+++ modules/services/whoogle.nix
@@ -0,0 +1,48 @@
+{
+  config,
+  lib,
+  haravara,
+  ...
+}: let
+  cfg = config.services.haravara.whoogle;
+in {
+  options.services.haravara.whoogle = {
+    enable = lib.mkEnableOption "Whoogle metasearch engine";
+    domain = lib.mkOption {
+      type = lib.types.nullOr lib.types.str;
+      default = null;
+      description = "Domain for the Whoogle instance (null = no Caddy vhost)";
+    };
+    authLabel = haravara.authLabelOption;
+    port = lib.mkOption {
+      type = lib.types.port;
+      default = 5000;
+      description = "Port for Whoogle to listen on";
+    };
+    bindAddress = lib.mkOption {
+      type = lib.types.str;
+      default = "127.0.0.1";
+      description = "Address for Whoogle to bind to";
+    };
+    extraEnv = lib.mkOption {
+      type = lib.types.attrsOf lib.types.str;
+      default = {};
+      description = "Extra WHOOGLE_* environment variables";
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.whoogle-search = {
+      enable = true;
+      inherit (cfg) port extraEnv;
+      listenAddress = cfg.bindAddress;
+    };
+
+    services.caddy.virtualHosts = lib.mkIf (cfg.domain != null) {
+      "${cfg.domain}".extraConfig = ''
+        ${haravara.mkAuthImport cfg.authLabel}
+        reverse_proxy 127.0.0.1:${toString cfg.port}
+      '';
+    };
+  };
+}