CrOS/modules/users/overseer/services.nix

61 lines
1.5 KiB
Nix

let
volumePath = "/overseer/services";
in
{
lib,
inputs,
config,
pkgs,
...
}:
lib.mkIf config.user.overseer.enable {
# Some scafolding for secrets
sops = {
defaultSopsFile = inputs.nix-secrets.secrets.overseer;
age.keyFile = "/var/lib/sops-nix/key.txt";
age.generateKey = true;
};
# Create the dirs we need
systemd.tmpfiles.rules = [
"d ${volumePath}"
"d ${volumePath}/paperless/data 700 overseer overseer"
"d ${volumePath}/paperless/media 700 overseer overseer"
"d ${volumePath}/NPM/data 700 overseer overseer"
"d ${volumePath}/NPM/letsencrypt 700 overseer overseer"
];
# (Arguably) Most Important Service - backups
services.restic.backups = {
};
# Paperless-ngx
#services.paperless = {
# enable = true;
# mediaDir = "${volumePath}/paperless/media";
# dataDir = "${volumePath}/paperless/data";
#};
# OCI services
virtualisation.podman.enable = true;
virtualisation.oci-containers.backend = "podman";
virtualisation.oci-containers.containers = {
## NGINX Proxy Manager
#NPM = {
# image = "jc21/nginx-proxy-manager:latest";
# autoStart = true;
# ports = [
# "80:80"
# "443:443"
# "81:81"
# ];
# volumes = [
# "${volumePath}/NPM/data:/data"
# "${volumePath}/NPM/letsencrypt:/etc/letsencrypt"
# ];
#};
};
}