mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-24 18:31:43 +01:00
40 lines
988 B
Nix
40 lines
988 B
Nix
{
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
# enable davfs2 driver for webdav
|
|
services.davfs2 = {
|
|
enable = true;
|
|
# https://man.archlinux.org/man/davfs2.conf.5
|
|
settings = {
|
|
globalSection.use_locks = true;
|
|
sections = {
|
|
"/mnt/fileshare" = {
|
|
# try to get this information from all files in a directory with one PROPFIND request.
|
|
gui_optimize = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
# mount a webdav share
|
|
# https://wiki.archlinux.org/title/Davfs2
|
|
fileSystems."/mnt/fileshare" = {
|
|
device = "https://webdav.writefor.fun/";
|
|
fsType = "davfs";
|
|
options = [
|
|
# https://www.freedesktop.org/software/systemd/man/latest/systemd.mount.html
|
|
"nofail"
|
|
"_netdev" # Wait for network
|
|
"rw"
|
|
"uid=1000,gid=100,dir_mode=0750,file_mode=0750"
|
|
];
|
|
};
|
|
# davfs2 reads its credentials from /etc/davfs2/secrets
|
|
environment.etc."davfs2/secrets" = {
|
|
source = config.age.secrets."davfs-secrets".path;
|
|
mode = "0600";
|
|
};
|
|
}
|