57 lines
1.2 KiB
Nix
57 lines
1.2 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.my.services.homer;
|
|
inherit (config.my.server) domain;
|
|
homeConfig = {
|
|
title = "Dashboard";
|
|
header = false;
|
|
footer = false;
|
|
colors = {
|
|
dark = {
|
|
highlight-primary = "#cc241d";
|
|
highlight-secondary = "#8ec07c";
|
|
highlight-hover = "#d79921";
|
|
background = "rgb(40,36,34)";
|
|
card-background = "#3c3836";
|
|
text = "#eaeaea";
|
|
text-header = "#ffffff";
|
|
text-title = "#fafafa";
|
|
text-subtitle = "#f5f5f5";
|
|
card-shadow = "rgba(0, 0, 0, 0.4)";
|
|
link = "#3273dc";
|
|
link-hover = "#ffdd57";
|
|
};
|
|
};
|
|
connectivityCheck = true;
|
|
columns = "auto";
|
|
services = config.lib.webapps.homerServices;
|
|
};
|
|
in {
|
|
imports = [
|
|
./config.nix
|
|
];
|
|
|
|
options.my.services.homer = {
|
|
enable = mkEnableOption "Homer Dashboard";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
services.caddy.virtualHosts."${domain}".extraConfig = ''
|
|
handle_path /assets/config.yml {
|
|
root * ${pkgs.writeText "homerConfig.yml" (builtins.toJSON homeConfig)}
|
|
file_server
|
|
}
|
|
|
|
root * ${pkgs.homer}
|
|
file_server {
|
|
hide .git
|
|
}
|
|
'';
|
|
};
|
|
}
|