test: setting up nas structure

This commit is contained in:
Nick 2025-12-08 03:32:04 -06:00
parent 312c52d613
commit e341e5878f
19 changed files with 1106 additions and 196 deletions

View file

@ -1,18 +1,100 @@
{
flake,
config,
pkgs,
lib,
...
}:
let
syncthing = import ./syncthing { inherit flake; };
photoprism = import ./photoprism { inherit flake lib; };
opencloud = import ./opencloud { inherit flake pkgs; };
inherit (flake.config.people) user0;
nasHelpers = {
ipAddress = ip: "192.168.50.${ip}";
guestPath = user: "/mnt/storage/users/${user}/guests";
docsPath = user: "/mnt/storage/users/${user}/home/docs";
mediaPath = user: "/mnt/storage/users/${user}/home/media";
miscPath = user: "/mnt/storage/users/${user}/home/misc";
firefly = {
id0 = 70;
id1 = 71;
id2 = 72;
ssh0 = 2570;
ssh1 = 2571;
ssh2 = 2572;
};
onlyoffice = {
id0 = 73;
id1 = 74;
id2 = 75;
ssh0 = 2573;
ssh1 = 2574;
ssh2 = 2575;
};
opencloud = {
id0 = 76;
id1 = 77;
id2 = 78;
ssh0 = 2576;
ssh1 = 2577;
ssh2 = 2578;
};
photoprism = {
id0 = 79;
id1 = 80;
id2 = 81;
ssh0 = 2579;
ssh1 = 2580;
ssh2 = 2581;
};
syncthing = {
id0 = 82;
id1 = 83;
id2 = 84;
ssh0 = 2582;
ssh1 = 2583;
ssh2 = 2584;
};
vaultwarden = {
id0 = 85;
id1 = 86;
id2 = 87;
ssh0 = 2585;
ssh1 = 2586;
ssh2 = 2587;
};
};
firefly-iii = import ./guests/firefly-iii {
inherit
nasHelpers
config
flake
pkgs
;
};
opencloud = import ./guests/opencloud { inherit nasHelpers flake pkgs; };
photoprism = import ./guests/photoprism { inherit nasHelpers flake lib; };
syncthing = import ./guests/syncthing { inherit nasHelpers flake; };
vaultwarden = import ./guests/vaultwarden { inherit nasHelpers flake; };
in
{
imports = [
syncthing
photoprism
firefly-iii
opencloud
photoprism
syncthing
vaultwarden
];
systemd.tmpfiles.rules =
let
inherit (nasHelpers) docsPath mediaPath miscPath;
homePaths = user: [
"d ${docsPath user} 0751 microvm wheel - -"
"d ${mediaPath user} 0751 microvm wheel - -"
"d ${miscPath user} 0751 microvm wheel - -"
];
in
homePaths user0;
}