2022-11-09 22:15:47 +01:00
|
|
|
# Dashboard site
|
2024-07-28 21:08:02 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
2022-11-09 22:15:47 +01:00
|
|
|
let
|
|
|
|
cfg = config.my.services.homer;
|
2023-11-07 23:13:51 +01:00
|
|
|
inherit (config.networking) domain;
|
2022-01-23 23:35:00 +01:00
|
|
|
|
2022-11-09 22:15:47 +01:00
|
|
|
homeConfig = {
|
|
|
|
header = false;
|
|
|
|
footer = false;
|
2023-06-22 20:54:16 +02:00
|
|
|
columns = "auto";
|
2022-11-09 22:15:47 +01:00
|
|
|
services = config.lib.webapps.homerServices;
|
|
|
|
};
|
|
|
|
in
|
2022-01-23 23:35:00 +01:00
|
|
|
{
|
2024-07-28 21:08:02 +02:00
|
|
|
imports = [ ./config.nix ];
|
2022-11-09 22:15:47 +01:00
|
|
|
|
|
|
|
options.my.services.homer = with lib; {
|
|
|
|
enable = mkEnableOption "Homer Dashboard";
|
|
|
|
};
|
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
2025-05-28 20:48:17 +02:00
|
|
|
services.homer = {
|
|
|
|
enable = true;
|
|
|
|
virtualHost.caddy.enable = true;
|
|
|
|
virtualHost.domain = domain;
|
|
|
|
settings = homeConfig;
|
2022-01-23 23:35:00 +01:00
|
|
|
};
|
|
|
|
|
2022-11-09 22:15:47 +01:00
|
|
|
webapps = {
|
|
|
|
dashboardCategories = [
|
2024-07-28 21:08:02 +02:00
|
|
|
{
|
|
|
|
name = "Applications";
|
|
|
|
tag = "app";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "Media";
|
|
|
|
tag = "media";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "Infrastructure";
|
|
|
|
tag = "infra";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "Others";
|
|
|
|
tag = "other";
|
|
|
|
}
|
2022-11-09 22:15:47 +01:00
|
|
|
];
|
2022-01-23 23:35:00 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|