From 96c4304e08a66e08ae90d3a6db9c37412d172ce7 Mon Sep 17 00:00:00 2001 From: wo2w <189177184+wo2wz@users.noreply.github.com> Date: Mon, 16 Feb 2026 21:26:38 -0500 Subject: [PATCH 1/4] glance: init --- modules/nixos/services/homeserver/caddy.nix | 3 + modules/nixos/services/homeserver/default.nix | 1 + modules/nixos/services/homeserver/glance.nix | 176 ++++++++++++++++++ secrets/drone.yaml | 6 +- 4 files changed, 184 insertions(+), 2 deletions(-) create mode 100644 modules/nixos/services/homeserver/glance.nix diff --git a/modules/nixos/services/homeserver/caddy.nix b/modules/nixos/services/homeserver/caddy.nix index 1f6c8fe..9ee2c5d 100755 --- a/modules/nixos/services/homeserver/caddy.nix +++ b/modules/nixos/services/homeserver/caddy.nix @@ -67,6 +67,9 @@ tags tag:drone + glance { + tags tag:drone tag:glance + } grafana { tags tag:drone tag:grafana } diff --git a/modules/nixos/services/homeserver/default.nix b/modules/nixos/services/homeserver/default.nix index 0ed971d..22df8a8 100755 --- a/modules/nixos/services/homeserver/default.nix +++ b/modules/nixos/services/homeserver/default.nix @@ -9,6 +9,7 @@ ./continuwuity.nix ./forgejo.nix ./gameserver-caddy.nix + ./glance.nix ./jellyfin.nix ./kanidm.nix ./nextcloud.nix diff --git a/modules/nixos/services/homeserver/glance.nix b/modules/nixos/services/homeserver/glance.nix new file mode 100644 index 0000000..be9ef49 --- /dev/null +++ b/modules/nixos/services/homeserver/glance.nix @@ -0,0 +1,176 @@ +{ config, ... }: + +{ + sops.secrets."glance/secrets.env" = {}; + + services.caddy.virtualHosts."glance.taild5f7e6.ts.net".extraConfig = '' + import default-settings + + bind tailscale/glance + + reverse_proxy localhost:${toString config.services.glance.settings.server.port} + ''; + + services.glance = { + enable = true; + environmentFile = config.sops.secrets."glance/secrets.env".path; + settings = { + server = { + host = "127.0.0.1"; + port = 8008; + proxied = true; + }; + + pages = + let + domain = "wo2wz.fyi"; + tsDomain = "taild5f7e6.ts.net"; + in [ + { + name = "Home"; + columns = [ + { + size = "small"; + widgets = [ + { + # xkcd + type = "custom-api"; + cache = "1h"; + title = "XKCD"; + title-url = "https://xkcd.com"; + + url = "https://xkcd.com/info.0.json"; + template = '' +
{{ .JSON.String "title" }} +
+ shit
error id: {err.id}
+ + + HTML + } + } ''; # have to specify node tags here because if there are two tailscale blocks it just dont work globalConfig = '' From 83059bbb939cd8d5854703d3f249113d3d23a299 Mon Sep 17 00:00:00 2001 From: wo2w <189177184+wo2wz@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:46:05 -0500 Subject: [PATCH 3/4] vaultwarden: fix admin path block --- modules/nixos/services/homeserver/vaultwarden.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/nixos/services/homeserver/vaultwarden.nix b/modules/nixos/services/homeserver/vaultwarden.nix index e788729..ad71f08 100755 --- a/modules/nixos/services/homeserver/vaultwarden.nix +++ b/modules/nixos/services/homeserver/vaultwarden.nix @@ -14,7 +14,8 @@ bind tailscale/vaultwarden # block connections to admin login - respond /admin/* 403 + @admin path /admin /admin/* + respond @admin 403 reverse_proxy localhost:8000 ''; From 0ae65af2a32a690e58ccf7d4c601beb0a0927243 Mon Sep 17 00:00:00 2001 From: wo2w <189177184+wo2wz@users.noreply.github.com> Date: Sat, 21 Feb 2026 14:04:19 -0500 Subject: [PATCH 4/4] librewolf: add glance as start/homepage and searxng as default search engine --- modules/home/librewolf.nix | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/home/librewolf.nix b/modules/home/librewolf.nix index 3d07f6d..4561e86 100755 --- a/modules/home/librewolf.nix +++ b/modules/home/librewolf.nix @@ -37,6 +37,7 @@ (extension "enhancer-for-youtube" "enhancerforyoutube@maximerf.addons.mozilla.org") (extension "indie-wiki-buddy" "{cb31ec5d-c49a-4e5a-b240-16c767444f62}") (extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me") + (extension "new-tab-override" "newtaboverride@agenedia.com") (extension "privacy-badger17" "jid1-MnnxcxisBPnSXQ@jetpack") (extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}") (extension "ublock-origin" "uBlock0@raymondhill.net") @@ -45,8 +46,15 @@ profiles.wo2w = { search = { force = true; - default = "ddg"; - privateDefault = "ddg"; + default = "searxng"; + privateDefault = "searxng"; + engines = { + searxng = { + name = "SearXNG"; + iconMapObj."16" = "https://searxng.taild5f7e6.ts.net/favicon.ico"; + urls = [{ template = "https://searxng.taild5f7e6.ts.net/search?q={searchTerms}"; }]; + }; + }; }; settings = { "browser.urlbar.suggest.history" = true; @@ -54,8 +62,10 @@ "browser.urlbar.suggest.openpage" = false; "browser.urlbar.suggest.topsites" = false; "browser.urlbar.suggest.recentsearches" = false; + # remember tabs on startup "browser.startup.page" = 3; + "browser.startup.homepage" = "https://glance.taild5f7e6.ts.net"; # encrypted dns "network.trr.mode" = 2; @@ -67,8 +77,7 @@ "privacy.clearOnShutdown.cache" = false; "privacy.clearOnShutdown.cookies" = false; "privacy.clearOnShutdown.sessions" = false; - "privacy.donottrackheader.enabled" = true; - + "privacy.globalprivacycontrol.enabled" = true; # use xdg file picker instead of builtin browser picker "widget.use-xdg-desktop-portal.file-picker" = 1; };