refactor: move from den based to flake-parts based
This commit is contained in:
@@ -1,56 +1,41 @@
|
||||
{
|
||||
den,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
meshDevices = lib.listToAttrs (
|
||||
lib.concatMap (
|
||||
host:
|
||||
lib.mapAttrsToList (
|
||||
userName: user:
|
||||
let
|
||||
name = "${userName}@${host.name}";
|
||||
in
|
||||
{
|
||||
inherit name;
|
||||
value = {
|
||||
inherit name;
|
||||
id = user.syncthingId;
|
||||
};
|
||||
}
|
||||
) (lib.filterAttrs (_: u: u.syncthingId != null) host.users)
|
||||
) (lib.attrValues den.hosts.x86_64-linux)
|
||||
);
|
||||
in
|
||||
{
|
||||
lux.syncthing = den.lib.perUser (
|
||||
{ host, user }:
|
||||
{
|
||||
homeManager = {
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
flake.modules.homeManager.syncthing =
|
||||
{ ... }:
|
||||
let
|
||||
syncthingMesh = {
|
||||
"kiri@orion" = {
|
||||
name = "kiri@orion";
|
||||
id = "NNRNQKZ-OWPHSVA-B6KKBHE-SDYLSTV-7SVHGPR-NEWLKPL-4MWNJG4-G5FHUAI";
|
||||
};
|
||||
|
||||
overrideDevices = true;
|
||||
overrideFolders = true;
|
||||
|
||||
settings = {
|
||||
folders = {
|
||||
sync = {
|
||||
path = "~/sync";
|
||||
label = "sync";
|
||||
devices = lib.attrNames meshDevices;
|
||||
};
|
||||
calibre = {
|
||||
path = "~/calibre";
|
||||
label = "calibre";
|
||||
devices = lib.attrNames meshDevices;
|
||||
};
|
||||
};
|
||||
devices = meshDevices;
|
||||
};
|
||||
"kiri@polaris" = {
|
||||
name = "kiri@polaris";
|
||||
id = "6HBAKXB-DB3B4H2-BODCAXF-KD23H5W-6X5LGLC-ZJHZHLG-7U7YMGO-BB6IXQ3";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
|
||||
overrideDevices = true;
|
||||
overrideFolders = true;
|
||||
|
||||
settings = {
|
||||
folders = {
|
||||
sync = {
|
||||
path = "~/sync";
|
||||
label = "sync";
|
||||
devices = builtins.attrNames syncthingMesh;
|
||||
};
|
||||
calibre = {
|
||||
path = "~/calibre";
|
||||
label = "calibre";
|
||||
devices = builtins.attrNames syncthingMesh;
|
||||
};
|
||||
};
|
||||
devices = syncthingMesh;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user