198 lines
5.8 KiB
Nix
198 lines
5.8 KiB
Nix
{ pkgs, config, ... }:
|
|
let
|
|
# {{{ Colors
|
|
colors = with config.lib.stylix.scheme.withHashtag; {
|
|
highlight-primary = base09;
|
|
highlight-secondary = base01;
|
|
highlight-hover = base00;
|
|
text-header = base05;
|
|
text-title = base05;
|
|
text-subtitle = base05;
|
|
text = base05;
|
|
link = base08;
|
|
background = base00;
|
|
card-background = base01;
|
|
};
|
|
# }}}
|
|
|
|
fa = name: "fas fa-${name}";
|
|
iconPath = ../../../../common/icons;
|
|
icon = file: "assets/${iconPath}/${file}";
|
|
in
|
|
{
|
|
imports = [ ../../common/optional/services/nginx.nix ];
|
|
|
|
services.nginx.virtualHosts."lab.moonythm.dev" =
|
|
config.satellite.static (pkgs.homer.withAssets {
|
|
extraAssets = [ iconPath ];
|
|
config = {
|
|
title = "✨ The celestial citadel ✨";
|
|
|
|
header = false;
|
|
footer = false;
|
|
connectivityCheck = true;
|
|
|
|
colors.light = colors;
|
|
colors.dark = colors;
|
|
|
|
services = [
|
|
# {{{ Infrastructure
|
|
{
|
|
name = "Infrastructure";
|
|
icon = fa "code";
|
|
items = [
|
|
{
|
|
name = "Prometheus";
|
|
type = "Prometheus";
|
|
subtitle = "Monitoring system";
|
|
logo = icon "prometheus.png";
|
|
url = "https://prometheus.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Grafana";
|
|
subtitle = "Pretty dashboards :3";
|
|
logo = icon "grafana.png";
|
|
url = "https://grafana.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Syncthing";
|
|
subtitle = "File synchronization";
|
|
logo = icon "syncthing.png";
|
|
url = "https://lapetus.syncthing.moonythm.dev";
|
|
}
|
|
];
|
|
}
|
|
# }}}
|
|
# {{{ Pillars
|
|
{
|
|
name = "Tooling";
|
|
icon = fa "toolbox";
|
|
items = [
|
|
{
|
|
name = "Vaultwarden";
|
|
subtitle = "Password manager";
|
|
logo = icon "bitwarden.png";
|
|
url = "https://warden.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Whoogle";
|
|
subtitle = "Search engine";
|
|
logo = icon "whoogle.webp";
|
|
url = "https://search.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Radicale";
|
|
subtitle = "Calendar server";
|
|
logo = icon "radicale.svg";
|
|
url = "https://cal.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Microbin";
|
|
subtitle = "Code & file sharing";
|
|
logo = icon "microbin.png";
|
|
url = "https://cal.moonythm.dev";
|
|
}
|
|
];
|
|
}
|
|
# }}}
|
|
# {{{ Productivity
|
|
{
|
|
name = "Productivity";
|
|
icon = fa "rocket";
|
|
items = [
|
|
{
|
|
name = "Intray";
|
|
subtitle = "GTD capture tool";
|
|
icon = fa "inbox";
|
|
url = "https://intray.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Smos";
|
|
subtitle = "A comprehensive self-management system.";
|
|
icon = fa "cubes-stacked";
|
|
url = "https://smos.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Actual";
|
|
subtitle = "Budgeting tool";
|
|
logo = icon "actual.png";
|
|
url = "https://actual.moonythm.dev";
|
|
}
|
|
];
|
|
}
|
|
# }}}
|
|
# {{{ Entertainment
|
|
{
|
|
name = "Entertainment";
|
|
icon = fa "gamepad";
|
|
items = [
|
|
{
|
|
name = "Invidious";
|
|
subtitle = "Youtube client";
|
|
logo = icon "invidious.png";
|
|
url = "https://yt.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Redlib";
|
|
subtitle = "Reddit client";
|
|
logo = icon "libreddit.png";
|
|
url = "https://redlib.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Diptime";
|
|
subtitle = "Diplomacy timer";
|
|
icon = fa "globe";
|
|
url = "https://diptime.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Commafeed";
|
|
subtitle = "RSS reader";
|
|
logo = icon "commafeed.png";
|
|
url = "https://rss.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Qbittorrent";
|
|
subtitle = "Torrent client";
|
|
logo = icon "qbittorrent.png";
|
|
url = "https://qbit.moonythm.dev";
|
|
}
|
|
{
|
|
name = "Jellyfin";
|
|
subtitle = "Media server";
|
|
logo = icon "jellyfin.png";
|
|
url = "https://media.moonythm.dev";
|
|
}
|
|
];
|
|
}
|
|
# }}}
|
|
# {{{ External
|
|
{
|
|
name = "External";
|
|
icon = fa "arrow-up-right-from-square";
|
|
items = [
|
|
{
|
|
name = "Tailscale";
|
|
subtitle = "Access this homelab from anywhere";
|
|
logo = icon "tailscale.png";
|
|
url = "https://tailscale.com/";
|
|
}
|
|
{
|
|
name = "Dotfiles";
|
|
subtitle = "Configuration for all my machines";
|
|
logo = icon "github.png";
|
|
url = "https://github.com/mateiadrielrafael/everything-nix";
|
|
}
|
|
{
|
|
name = "Cloudflare";
|
|
subtitle = "Domain management";
|
|
logo = icon "cloudflare.png";
|
|
url = "https://dash.cloudflare.com/761d3e81b3e42551e33c4b73274ecc82/moonythm.dev/";
|
|
}
|
|
];
|
|
}
|
|
# }}}
|
|
];
|
|
};
|
|
});
|
|
}
|