mirror of
https://github.com/Ascyii/nixos.git
synced 2026-01-01 06:44:26 -05:00
43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
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";
|
|
}];
|
|
|
|
systemd.automounts = [{
|
|
where = "/mnt/webdav";
|
|
wantedBy = [ "multi-user.target" ];
|
|
automountConfig = { TimeoutIdleSec = "20m"; };
|
|
}];
|
|
}
|