diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-06-27 09:37:29 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-06-27 09:38:56 +0200 |
commit | 580b011a7f69daf155354e9a99ecba20f9bb68f4 (patch) | |
tree | f7735f894513005945f85d0e9b3f723ecbc22478 /modules/nixos/vhack/peertube/default.nix | |
parent | fix(nix-sync): Change last occurrences of `repo.path` to `repoPath` (diff) | |
download | nixos-server-580b011a7f69daf155354e9a99ecba20f9bb68f4.tar.gz nixos-server-580b011a7f69daf155354e9a99ecba20f9bb68f4.zip |
feat(peertube): Init
Diffstat (limited to 'modules/nixos/vhack/peertube/default.nix')
-rw-r--r-- | modules/nixos/vhack/peertube/default.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/modules/nixos/vhack/peertube/default.nix b/modules/nixos/vhack/peertube/default.nix new file mode 100644 index 0000000..193b628 --- /dev/null +++ b/modules/nixos/vhack/peertube/default.nix @@ -0,0 +1,61 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.vhack.peertube; +in { + options.vhack.peertube = { + enable = lib.mkEnableOption '' + the peertube video platform. + ''; + }; + + config = lib.mkIf cfg.enable { + services.peertube = { + enable = true; + + localDomain = "peertube.vhack.eu"; + configureNginx = true; + + smtp = { + createLocally = true; + passwordFile = "${config.age.secrets.peertubeSmtp.path}"; + }; + database = { + createLocally = true; + }; + redis = { + enableUnixSocket = true; + createLocally = true; + }; + + secrets.secretsFile = "${config.age.secrets.peertubeGeneral.path}"; + }; + + age.secrets = { + peertubeGeneral = { + file = ./secrets/general.age; + mode = "700"; + owner = "peertube"; + group = "peertube"; + }; + peertubeSmtp = { + file = ./secrets/smtp.age; + mode = "700"; + owner = "peertube"; + group = "peertube"; + }; + }; + + environment.persistence."/srv".directories = [ + { + directory = "/var/lib/peertube"; + user = "peertube"; + group = "peertube"; + mode = "0700"; + } + ]; + }; +} |