Commit Diff


commit - 520cbf92b39d1bc506f8023a24fc11f7bb2129a8
commit + 77bc171b2bced0c205bfc538659ffa63675c06f7
blob - 90022d7d96cdcdf8352f6ec9061f8fe1ff7bc413
blob + ae713d5a60955308932884059c11ebcd02017ede
--- flake.lock
+++ flake.lock
@@ -24,6 +24,22 @@
         "type": "github"
       }
     },
+    "beaker": {
+      "flake": false,
+      "locked": {
+        "lastModified": 1780436704,
+        "narHash": "sha256-3aMH1YblnpiXKdkQVMRLmMZ5/8G7vB4HAfLg7+izyHg=",
+        "ref": "refs/heads/master",
+        "rev": "360d6271e1a20d128430e52637d5d35f4c706ca5",
+        "revCount": 34,
+        "type": "git",
+        "url": "https://git.bwaaa.monster/beaker"
+      },
+      "original": {
+        "type": "git",
+        "url": "https://git.bwaaa.monster/beaker"
+      }
+    },
     "corpus": {
       "inputs": {
         "elm2nix": "elm2nix",
@@ -164,11 +180,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1785158503,
-        "narHash": "sha256-vEhDKc9JYVGH5CO4nbfqIZmsWiDKLPFReYK6emsFK5U=",
+        "lastModified": 1785168662,
+        "narHash": "sha256-kGJTc0oEUQuEwV66lSlMxYtOEtpk9N/HS43k+rFAvs8=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "0c486d2b21bb1e4d0e5a11e374deb51587267387",
+        "rev": "cbb77679b3d992c8b62f884cd3a84af534a28621",
         "type": "github"
       },
       "original": {
@@ -248,6 +264,29 @@
         "type": "github"
       }
     },
+    "omnisearch": {
+      "inputs": {
+        "beaker-src": [
+          "beaker"
+        ],
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1783357409,
+        "narHash": "sha256-eolp0Msb3ACNatbenEJftjFlUoh/RfZDizv3GdetEsM=",
+        "ref": "refs/heads/master",
+        "rev": "9c68a8ae6fb32f8a1660da392b9985a4ab3e7cb4",
+        "revCount": 135,
+        "type": "git",
+        "url": "https://git.bwaaa.monster/omnisearch"
+      },
+      "original": {
+        "type": "git",
+        "url": "https://git.bwaaa.monster/omnisearch"
+      }
+    },
     "ragenix": {
       "inputs": {
         "agenix": "agenix",
@@ -274,11 +313,13 @@
     },
     "root": {
       "inputs": {
+        "beaker": "beaker",
         "corpus": "corpus",
         "disko": "disko",
         "home-manager": "home-manager",
         "nix-index-database": "nix-index-database",
         "nixpkgs": "nixpkgs_2",
+        "omnisearch": "omnisearch",
         "ragenix": "ragenix",
         "shirts": "shirts"
       }
blob - 7142ff72c84589551c8c52c4608b5014901cdfe6
blob + 6b064e39d5b41302a036ba58c19245a6a490b61b
--- flake.nix
+++ flake.nix
@@ -33,6 +33,17 @@
       url = "sourcehut:~mtmn/shirts";
       inputs.nixpkgs.follows = "nixpkgs";
     };
+
+    beaker = {
+      url = "git+https://git.bwaaa.monster/beaker";
+      flake = false;
+    };
+
+    omnisearch = {
+      url = "git+https://git.bwaaa.monster/omnisearch";
+      inputs.nixpkgs.follows = "nixpkgs";
+      inputs.beaker-src.follows = "beaker";
+    };
   };
 
   outputs = {
blob - 602d7e5fb56ce52d647ad82cd8d54b567086e524
blob + 8116a81cf81ca4eadadd8856ff665ff17bdf9b0f
Binary files hosts/nixaran/configuration.nix and hosts/nixaran/configuration.nix differ
blob - db6945d67b14f3a2c98a70b9a342f68e3bd59480
blob + 0ec26662adfd2295bd67b1c594f3164ca8fcb4b3
--- hosts/void/default.nix
+++ hosts/void/default.nix
@@ -3,7 +3,7 @@
   lib,
   ...
 }: {
-  imports = [../../modules/mixins/dotfiles ../../modules/mixins/core ../../modules/mixins/treesitter ./overlays];
+  imports = [../../modules/mixins/dotfiles ../../modules/mixins/core ./overlays];
 
   targets.genericLinux = {
     enable = true;
blob - 6ca6012ed6f63d8410f2bd78812a66b8d42588b7 (mode 644)
blob + /dev/null
--- hosts/void/overlays/config/shepherd/init.d/swaybg.scm
+++ /dev/null
@@ -1,6 +0,0 @@
-;; -*- mode: scheme; -*-
-(use-modules (helpers))
-(exec-service 'swaybg
-              (list "swaybg" "-m" "fill" "-c" "#000000"
-                    "-i" (string-append (getenv "HOME")
-                                        "/misc/random/wallpapers/15.jpg")))
blob - /dev/null
blob + 7c055f781fd498041d4476d5af9fcac127c710c5 (mode 644)
--- /dev/null
+++ hosts/void/overlays/config/shepherd/init.d/wbg.scm
@@ -0,0 +1,6 @@
+;; -*- mode: scheme; -*-
+(use-modules (helpers))
+(exec-service 'wbg
+              (list "wbg"
+                    "/home/miro/misc/random/wallpapers/bru.jpg"
+                    "--stretch"))
blob - 2026b53411ab959e0804640b6adc37d2fe1a15fd (mode 644)
blob + /dev/null
--- hosts/void/overlays/config/shepherd/init.d/wayllpaper.scm
+++ /dev/null
@@ -1,6 +0,0 @@
-;; -*- mode: scheme; -*-
-(use-modules (helpers))
-(exec-service 'wayllpaper
-              (list "wayllpaper"
-                    "/home/miro/misc/random/wallpapers/sea.bin"
-                    "3072" "1911"))
blob - /dev/null
blob + 87daa1d536bb0b0db32a557b34380f9c739a71fe (mode 644)
--- /dev/null
+++ hosts/void/overlays/config/shepherd/init.d/wl-gammarelay.scm
@@ -0,0 +1,3 @@
+;; -*- mode: scheme; -*-
+(use-modules (helpers))
+(exec-service 'hister '("wl-gammarelay"))
blob - f9c9d33d839faf10f635bcf33ba08f2ee0ebc645
blob + cb2683ba5ae3ac50e33702496653d07de6cd341b
--- hosts/void/overlays/config/volare/config
+++ hosts/void/overlays/config/volare/config
@@ -161,7 +161,7 @@ mode "resize" {
 
 exec shepherd
 
-font Fragment Mono 10
+font Ttyp0 OTB 10
 
 bar {
     position bottom
blob - 8c41d77748d43fd75667642ce470e0995ae33a3e (mode 644)
blob + 3abdb0da00dc3e83d27aa335baa8ddeb5e20351a (mode 755)
--- modules/mixins/dotfiles/bin/nota
+++ modules/mixins/dotfiles/bin/nota
@@ -15,10 +15,12 @@ ls)
 	;;
 esac
 
+is_date=0
 unsanitised_name=${1:-today}
 case $unsanitised_name in
 *' days ago' | yesterday | tomorrow | today)
 	unsanitised_name=$(date -d "$unsanitised_name" +%F)
+	is_date=1
 	;;
 esac
 
@@ -30,4 +32,9 @@ if ((NOTA_READ_ONLY)); then
 fi
 
 mkdir -p "$dir"
-exec emacs -nw --eval "(progn (require 'denote-journal) (let ((denote-directory \"$dir\")) (denote-journal-new-or-existing-entry \"$name\")))"
+
+if [ "$is_date" -eq 1 ]; then
+	exec emacs -nw --eval "(progn (require 'denote-journal) (let ((denote-directory \"$dir\")) (denote-journal-new-or-existing-entry \"$name\")))"
+else
+	exec emacs -nw "$dir/$file"
+fi
blob - 51a40a204e0a95e3a77058b27723594940a02499
blob + 9751697d3e37a1ecf9663709683c1d66cdd5f839
--- modules/mixins/dotfiles/bin/tempmenu
+++ modules/mixins/dotfiles/bin/tempmenu
@@ -13,15 +13,13 @@ if [ "$chosen" != "off" ] && ! [[ "$chosen" =~ ^[0-9]+
 	exit 1
 fi
 
-if [ -n "${WAYLAND_DISPLAY:-}" ]; then
-	pkill gammastep || true
-	if [ "$chosen" != "off" ]; then
-		gammastep -O "$chosen" &
-	fi
+dbus_props() {
+	dbus-send --session --dest=rs.wl-gammarelay --type=method_call / org.freedesktop.DBus.Properties.Set "string:$1" "string:$2" "variant:$3:$4"
+}
+
+if [ "$chosen" = "off" ]; then
+	dbus_props rs.wl.gammarelay Brightness double 1.0
+	dbus_props rs.wl.gammarelay Temperature uint16 6500
 else
-	if [ "$chosen" = "off" ]; then
-		redshift -x
-	else
-		redshift -O "$chosen"
-	fi
+	dbus_props rs.wl.gammarelay Temperature uint16 "$chosen"
 fi
blob - 0b7e798ff5c27bcd2ec1c5ab0dbf5cff4d76df51
blob + 592b9e7e46aba70ec738289f6b699af62c6293d6
--- modules/mixins/dotfiles/config/newsraft/feeds
+++ modules/mixins/dotfiles/config/newsraft/feeds
@@ -41,6 +41,7 @@ https://sibexi.co/index.xml
 https://analognowhere.com/feed/rss.xml
 https://fabiensanglard.net/rss.xml
 https://venam.net/blog/feed.xml
+https://refp.se/rss.xml
 
 
 @ substack < reload-period 120
blob - 26e323144cdac3990ab0e257c4451a878b908484
blob + 8a0a618295b49fc0cfb668700d2726009c4cf835
--- modules/mixins/dotfiles/home/tmux.conf
+++ modules/mixins/dotfiles/home/tmux.conf
@@ -11,7 +11,7 @@ set -ag terminal-overrides ",foot*:Tc"
 
 set -g status-interval 30
 
-set -g status off
+set -g status on
 set -g status-left ''
 set -g status-right ''
 
blob - /dev/null
blob + 0425c6bb2db1c5d9c0040d7d31a110b2e10d64d5 (mode 644)
--- /dev/null
+++ modules/services/omnisearch.nix
@@ -0,0 +1,101 @@
+{
+  config,
+  lib,
+  pkgs,
+  inputs,
+  haravara,
+  ...
+}: let
+  cfg = config.services.haravara.omnisearch;
+
+  omnisearch = inputs.omnisearch.packages.${pkgs.stdenv.hostPlatform.system}.default;
+
+  configFile = pkgs.writeText "omnisearch.ini" ''
+    [server]
+    host = ${cfg.host}
+    port = ${toString cfg.port}
+    locale = ${cfg.locale}
+
+    [cache]
+    dir = /var/cache/omnisearch
+
+    [engines]
+    engines = "${cfg.engines}"
+  '';
+in {
+  options.services.haravara.omnisearch = {
+    enable = lib.mkEnableOption "OmniSearch metasearch engine";
+
+    domain = lib.mkOption {
+      type = lib.types.str;
+      description = "Domain for the OmniSearch instance";
+    };
+
+    host = lib.mkOption {
+      type = lib.types.str;
+      default = "127.0.0.1";
+      description = "Address for OmniSearch to bind to";
+    };
+
+    port = lib.mkOption {
+      type = lib.types.port;
+      default = 8087;
+      description = "Port for OmniSearch to listen on";
+    };
+
+    locale = lib.mkOption {
+      type = lib.types.str;
+      default = "en_gb";
+      description = "Default locale served to users";
+    };
+
+    engines = lib.mkOption {
+      type = lib.types.str;
+      default = "*";
+      description = "Enabled upstream engines: '*', a comma-separated list, or '*,-engine'";
+    };
+
+    authLabel = haravara.authLabelOption;
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.services.omnisearch = {
+      description = "OmniSearch metasearch engine";
+      wantedBy = ["multi-user.target"];
+      after = ["network.target"];
+
+      serviceConfig = {
+        ExecStart = "${omnisearch}/bin/omnisearch";
+        WorkingDirectory = "/var/lib/omnisearch";
+        StateDirectory = "omnisearch";
+        CacheDirectory = "omnisearch";
+
+        BindReadOnlyPaths = [
+          "${omnisearch}/share/omnisearch/templates:/var/lib/omnisearch/templates"
+          "${omnisearch}/share/omnisearch/static:/var/lib/omnisearch/static"
+          "${omnisearch}/share/omnisearch/locales:/var/lib/omnisearch/locales"
+          "${configFile}:/var/lib/omnisearch/config.ini"
+        ];
+
+        DynamicUser = true;
+        ProtectSystem = "strict";
+        ProtectHome = true;
+        PrivateTmp = true;
+        Restart = "always";
+      };
+    };
+
+    services.caddy.virtualHosts."${cfg.domain}".extraConfig = ''
+      ${haravara.mkAuthImport cfg.authLabel}
+      header {
+        Strict-Transport-Security "max-age=31536000; includeSubDomains"
+        X-Content-Type-Options "nosniff"
+        X-Frame-Options "DENY"
+        Referrer-Policy "strict-origin-when-cross-origin"
+        -Server
+      }
+
+      reverse_proxy ${cfg.host}:${toString cfg.port}
+    '';
+  };
+}