Files
nixos/modules/services/webdav.nix

47 lines
928 B
Nix

{ inputs, config, ... }:
{
imports = [
inputs.sops-nix.nixosModules.sops
];
services.davfs2.enable = true;
sops = {
defaultSopsFile = ./../../secrets.yaml;
defaultSopsFormat = "yaml";
age.keyFile = "/home/jonas/.config/sops/age/keys.txt";
templates = {
"davtemp" = {
owner = "root";
content = ''${config.sops.placeholder.webdav_secret}'';
mode = "0600";
path = "/etc/davfs2/secrets";
};
};
secrets = {
webdav_secret = {
owner = "jonas";
};
};
};
# Ensure the mountpoint directory exists
systemd.tmpfiles.rules = [
"d /mnt/webdav 0755 jonas users -"
];
# Just works
systemd.mounts = [
{
description = "Webdav mount point";
wants = [ "network-online.target" ];
what = "https://dav.hahn1.one";
where = "/mnt/webdav";
type = "davfs";
options = "uid=1000,gid=1000,file_mode=0664,dir_mode=2775,_netdev";
mountConfig.TimeoutSec = "5s";
}
];
}