41 lines
1.3 KiB
Nix
41 lines
1.3 KiB
Nix
|
{
|
||
|
lib,
|
||
|
...
|
||
|
}: let
|
||
|
storage = "/storage/hot/data";
|
||
|
|
||
|
binds = [
|
||
|
(mkBind "change" "/var/lib/changedetection-io")
|
||
|
(mkBind "cups" "/var/lib/cups")
|
||
|
(mkBind "deluge" "/var/lib/deluge/.config/deluge")
|
||
|
(mkBind "dkim" "/var/dkim")
|
||
|
(mkBind "dovecot_index" "/var/lib/dovecot/indices")
|
||
|
(mkBind "forgejo" "/var/lib/forgejo")
|
||
|
(mkBind "grocy" "/var/lib/grocy")
|
||
|
(mkBind "hass" "/var/lib/hass")
|
||
|
(mkBind "jellyfin" "/var/lib/jellyfin")
|
||
|
(mkBind "jellyfin_cache" "/var/cache/jellyfin")
|
||
|
(mkBind "kavita" "/var/lib/kavita")
|
||
|
(mkBind "letsencrypt" "/etc/letsencrypt")
|
||
|
(mkBind "nextcloud" "/var/lib/nextcloud")
|
||
|
(mkBind "ovpn" "/var/lib/ovpn")
|
||
|
(mkBind "paperless" "/var/lib/paperless")
|
||
|
(mkBind "postgres" "/var/lib/postgresql")
|
||
|
(mkBind "rabbitmq" "/var/lib/rabbitmq")
|
||
|
(mkBind "sieve" "/var/sieve")
|
||
|
(mkBind "terraria" "/var/lib/terraria")
|
||
|
(mkBind "uptime_kuma" "/var/lib/uptime-kuma")
|
||
|
(mkBind "vaultwarden" "/var/lib/vaultwarden")
|
||
|
(mkBind "vmail" "/var/vmail")
|
||
|
];
|
||
|
|
||
|
mkBind = name: path: {
|
||
|
${path} = {
|
||
|
device = "${storage}/${name}";
|
||
|
options = [ "bind" "nofail" "X-mount.mkdir=1777" ];
|
||
|
};
|
||
|
};
|
||
|
in {
|
||
|
fileSystems = lib.foldl' (acc: bind: acc // bind) { } binds;
|
||
|
}
|