syncthing: Export differently

This commit is contained in:
Geoffrey Frogeye 2025-04-19 17:55:17 +02:00
parent 984ef44672
commit c9fc2ec685
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
2 changed files with 11 additions and 19 deletions

View file

@ -158,6 +158,8 @@
gimp gimp
inkscape inkscape
libreoffice libreoffice
jellyfin-media-player # Does not prevent the screen from sleeping
jellyfin-mpv-shim # No UI, needs remote
# data management # data management
freefilesync freefilesync

View file

@ -45,7 +45,7 @@ in
system.build.syncthingConfig = { system.build.syncthingConfig = {
folders = lib.trivial.pipe syncedFolders [ folders = lib.trivial.pipe syncedFolders [
(builtins.map (folder: { (builtins.map (folder: {
name = folder.name; name = "geoffrey_${folder.name}";
value = folder; value = folder;
})) }))
builtins.listToAttrs builtins.listToAttrs
@ -66,26 +66,16 @@ in
devices = lib.trivial.pipe syncingDevices [ devices = lib.trivial.pipe syncingDevices [
(builtins.map (device: { (builtins.map (device: {
name = device.name; name = device.name;
value = device; value = {
inherit (device) syncthing;
enabledFolders = lib.trivial.pipe device.folders [
(lib.attrsets.filterAttrs (folderName: folder: folder.syncthing.enable))
builtins.attrNames
(builtins.map (folderName: "geoffrey_${folderName}"))
];
};
})) }))
builtins.listToAttrs builtins.listToAttrs
(lib.attrsets.mapAttrs (
deviceName: device:
{
folders = lib.trivial.pipe device.folders [
(lib.attrsets.filterAttrs (folderName: folder: folder.syncthing.enable))
(lib.attrsets.mapAttrs (folderName: folder: { syncthing.enable = true; }))
];
}
//
(lib.attrsets.filterAttrs (
k: v:
builtins.elem k [
"syncthing"
]
))
device
))
]; ];
}; };
services.${service} = { services.${service} = {