infra/config/services/invidious.nix

44 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
...
}: {
services.invidious = {
enable = true;
package = pkgs.unstable.invidious;
database.passwordFile = config.age.secrets."services/invidious/password-database".path;
domain = "iv.winston.sh";
port = 3030;
nginx.enable = true;
settings = {
external_port = lib.mkForce 443;
enable_user_notifications = false;
popular_enabled = false;
statistics_enabled = true;
use_pubsub_feeds = true;
default_user_preferences = {
region = "US";
feed_menu = ["Subscriptions" "Playlists"];
default_home = lib.mkForce null;
};
};
extraSettingsFile = config.age.secrets."services/invidious/config.json".path;
};
services.nginx.virtualHosts.${config.services.invidious.domain} = {
forceSSL = true;
enableACME = false;
useACMEHost = "winston.sh";
};
# for agenix owner permissions
users.users.invidious.isSystemUser = true;
users.users.invidious.group = "invidious";
users.groups.invidious = {};
age.secrets."services/invidious/config.json".owner = "invidious";
}