Files
nixos-haus/hosts/box/glance.nix

204 lines
6.7 KiB
Nix

{
config,
lib,
pkgs,
modulesPath,
...
}: {
services.glance = {
enable = true;
settings = {
server.port = 8080;
server.host = "192.168.0.101";
pages = [
{
name = "HomeLAN";
#hide-desktop-navigation = true;
columns = [
{
size = "small";
widgets = [
{
type = "search";
search-engine = "startpage";
new-tab = true;
autofocus = true;
placeholder = "Startpage | @in, @media, @pkg, @git";
bangs = [
{
title = "Invidious";
shortcut = "@in";
url = "http://192.168.0.131:4000/search?q={QUERY}";
}
{
title = "NixOS Packages";
shortcut = "@pkg";
url = "https://search.nixos.org/packages?query={QUERY}";
}
{
title = "Jellyfin";
shortcut = "@media";
url = "http://192.168.0.131:8096/web/#/search.html?query={QUERY}";
}
{
title = "Github";
shortcut = "@git";
url = "https://github.com/search?q={QUERY}&type=repositories";
}
];
}
{
type = "monitor";
cache = "1m";
style = "compact";
title = "Health";
sites = [
{
title = "Gitea";
url = "http://192.168.0.131:3010/user/login";
}
{
title = "Azuracast";
url = "https://192.168.0.131:6003/admin/stations";
}
{
title = "Slowdown";
url = "https://192.168.0.131:6003/listen/teststation/radio.mp3";
}
{
title = "Absolutely Random";
url = "https://192.168.0.131:6003/listen/absolutely_random/radio.mp3";
}
{
title = "Jellyfin (media)";
url = "http://192.168.0.131:8096/web/#/home.html";
}
{
title = "Invidious (YouTube)";
url = "http://192.168.0.131:4000";
}
{
title = "Transmission (Torrents)";
url = "http://192.168.0.131:9091";
}
{
title = "OpenWebUI (AI)";
url = "http://192.168.0.131:3005/auth?redirect=%2F";
}
{
title = "FreshRSS (News)";
url = "http://192.168.0.131:8011";
}
{
title = "Karakeep (Bookmarks)";
url = "http://192.168.0.131:5000";
}
{
title = "Syncthing (Syncthing)";
url = "http://192.168.0.131:8384";
}
{
title = "Gossa (File server)";
url = "http://192.168.0.131:9000";
}
{
title = "Radicale (Calendar, Contacts, Tasks...)";
url = "http://192.168.0.101:5232";
}
{
title = "NetData (BigBox perf monitor)";
url = "http://192.168.0.131:19999/v3";
}
{
title = "Keybr (Touchtyping)";
url = "http://192.168.0.131:3000";
}
{
title = "Speedtest Tracker";
url = "http://192.168.0.131:8765/";
}
{
title = "PiHole (DNS)";
url = "http://192.168.0.101:8085";
}
{
title = "Dozzle (Docker logs)";
url = "http://192.168.0.131:8009";
}
{
title = "TP-Link (Router)";
url = "http://192.168.0.1";
}
];
}
{
type = "server-stats";
name = "Box";
}
];
}
{
size = "full";
widgets = [
{
type = "group";
widgets = [
{
type = "hacker-news";
limit = 40;
collapse-after = 5;
}
{
type = "lobsters";
sort-by = "hot";
#tags = [ "c" "rust" "networking" ];
tags = ["rust" "networking" "c" "culture" "law" "cryptography" "hardware" "science" "linux" "windows" "nix" "android" "privacy" "security" "virtualization" "editors" "systemd" "vim"];
}
];
}
{
type = "group";
widgets = [
{
type = "iframe";
source = "http://192.168.0.131:8096/web/#/home.html";
height = 400;
}
{
type = "iframe";
source = "http://192.168.0.131:19999/v3";
height = 800;
}
];
}
];
}
{
size = "small";
widgets = [
{
type = "to-do";
}
{
type = "weather";
location = "Bucharest, Romania";
units = "metric";
hour-format = "24h";
}
{
type = "twitch-channels";
channels = [
"theprimeagen"
"tsoding"
"euuhhh"
];
}
];
}
];
}
];
};
};
}