{ flake, config, ... }: let inherit (flake.config.people) user0 user1; inherit (flake.config.machines.devices) desktop server synology; inherit (flake.config.services.instances) samba; synologySecrets = config.sops.secrets."network/synology".path; serverSecrets = config.sops.secrets."network/server".path; in { fileSystems = let synologyDrives = [ "folder0" "folder1" "folder2" ]; storageDrives = [ "storage0" "storage1" ]; sambaDrives = [ "samba0" ]; synologyMounts = synologyDrive: { name = "${synology.${synologyDrive}.mount}"; value = { device = synology.${synologyDrive}.device; fsType = "cifs"; options = synology.${synologyDrive}.options ++ ["credentials=${synologySecrets}"]; }; }; storageMounts = storageDrive: { name = "${desktop.${storageDrive}.mount}"; value = { device = desktop.${storageDrive}.device; fsType = "ext4"; options = desktop.${storageDrive}.options; }; }; sambaMounts = sambaDrive: { name = "${server.${sambaDrive}.mount}/${samba.paths.path1}"; value = { device = "${server.${sambaDrive}.device}/${samba.paths.path1}"; fsType = "cifs"; options = server.${sambaDrive}.options ++ ["credentials=${serverSecrets}"]; }; }; in { "/" = { device = "/dev/disk/by-uuid/a465cd69-1cdc-47f8-93ca-cfdfee28adfe"; fsType = "ext4"; }; "/boot" = { device = "/dev/disk/by-uuid/AEB2-681E"; fsType = "vfat"; options = desktop.boot.options; }; } // (builtins.listToAttrs (map synologyMounts synologyDrives)) // (builtins.listToAttrs (map storageMounts storageDrives)) // (builtins.listToAttrs (map sambaMounts sambaDrives)); swapDevices = [ {device = "/dev/disk/by-uuid/1c787018-5bea-48b5-973c-dafd54159ee1";} ]; systemd.tmpfiles.rules = [ "Z ${config.home-manager.users.${user0}.home.homeDirectory} 0755 ${user0} users -" "Z ${config.home-manager.users.${user1}.home.homeDirectory} 0755 ${user1} users -" "Z ${desktop.storage0.mount} 0755 ${user0} users -" "Z ${desktop.storage1.mount} 0755 ${user0} users -" ]; services.udisks2.enable = true; }