nixfleet/modules/atticd/default.nix

52 lines
1.2 KiB
Nix

{ config, lib, ... }:
{
services.atticd = {
enable = true;
settings = {
listen = "0.0.0.0:8081";
allowed-hosts = [ ]; # Allow all hosts
# api-endpoint = "https://cache.staging.mlabs.city/";
soft-delete-caches = false;
require-proof-of-possession = true;
database.url = "sqlite://${config.services.atticd.settings.storage.path}/server.db?mode=rwc";
storage = {
type = "local";
path = "/mnt/hd/atticd";
};
compression = {
level = 8;
type = "zstd";
};
chunking = {
nar-size-threshold = 64 * 1024; # 64 KiB
min-size = 16 * 1024; # 16 KiB
avg-size = 64 * 1024; # 64 KiB
max-size = 256 * 1024; # 256 KiB
};
};
environmentFile = config.age.secrets.sisko-attic-environment-file.path;
};
systemd.services.atticd = {
serviceConfig = {
DynamicUser = lib.mkForce false;
};
};
systemd.tmpfiles.rules = [
"d config.services.atticd.settings.storage.path 770 atticd atticd"
];
users = {
groups.atticd = { };
users.atticd = {
group = "atticd";
home = config.services.atticd.settings.storage.path;
isSystemUser = true;
};
};
}