feat: update topology

This commit is contained in:
Leon Schwarzäugl 2026-01-20 00:20:50 +01:00
parent 3422a39da5
commit 9b7f98df7d
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
14 changed files with 19 additions and 61 deletions

3
.github/README.md vendored
View file

@ -109,8 +109,7 @@
<details>
<summary>Click here for a summary of my infrastructure</summary>
<img width="3854" height="7060" alt="topology" src="https://github.com/user-attachments/assets/fc557fdb-b779-4530-ae19-93ff019a2b29" />
<img width="4176" height="8367" alt="topology" src="https://github.com/user-attachments/assets/8b7f148d-8e49-4788-ba0f-4487482a483b" />
### Programs

View file

@ -2662,7 +2662,8 @@ Another note concerning [[https://flake.parts/][flake-parts]]:
ender3 = mkDevice "Ender 3" {
info = "SKR V1.3, TMC2209 (Dual), TFT35";
image = "${self}/files/topology-images/ender3.png";
deviceIcon = "${self}/files/topology-images/ender3.png";
icon = "${self}/files/topology-images/raspi.png";
interfaces.eth1 = { };
services = {
octoprint = {
@ -6207,7 +6208,7 @@ This machine mainly acts as my proxy server to stand before my local machines.
};
restic.targets = {
SwarselMoonside = {
repository = config.repo.secrets.local.resticRepoState;
repository = config.repo.secrets.local.resticRepo;
paths = [
"/persist/opt/minecraft"
];
@ -12727,11 +12728,7 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
sops.secrets.kavita-token = { inherit sopsFile; owner = serviceUser; };
# networking.firewall.allowedTCPPorts = [ servicePort ];
topology.self.services.${serviceName} = {
name = "Kavita";
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
topology.self.services.${serviceName}.info = "https://${serviceDomain}";
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = serviceUser; group = serviceGroup; }];
@ -13148,11 +13145,7 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
mpv
];
topology.self.services.${serviceName} = {
name = lib.toUpper serviceName;
info = "http://localhost:${builtins.toString servicePort}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
topology.self.services.${serviceName}.info = "http://localhost:${builtins.toString servicePort}";
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = "mpd"; group = "mpd"; }];
@ -13234,13 +13227,6 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
options.swarselmodules.server.${serviceName} = lib.mkEnableOption "enable ${serviceName} on server";
config = lib.mkIf config.swarselmodules.server.${serviceName} {
topology.self.services = {
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
icon = "${self}/files/topology-images/${serviceName}.png";
};
};
services = {
${serviceName} = {
enable = true;
@ -13388,19 +13374,13 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
# networking.firewall.allowedTCPPorts = [ servicePort federationPort ];
topology.self.services = {
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
} // (lib.listToAttrs (map
topology.self.services = lib.listToAttrs (map
(service:
lib.nameValuePair "mautrix-${service}" {
name = "mautrix-${service}";
icon = "${self}/files/topology-images/mautrix.png";
})
[ "whatsapp" "signal" "telegram" ]));
[ "whatsapp" "signal" "telegram" ]);
systemd = {
timers."restart-bridges" = {
@ -37573,8 +37553,7 @@ Here lies defined the readme for GitHub and Forgejo:
<details>
<summary>Click here for a summary of my infrastructure</summary>
<img width="3854" height="7060" alt="topology" src="https://github.com/user-attachments/assets/fc557fdb-b779-4530-ae19-93ff019a2b29" />
<img width="4176" height="8367" alt="topology" src="https://github.com/user-attachments/assets/8b7f148d-8e49-4788-ba0f-4487482a483b" />
### Programs

Binary file not shown.

Before

Width:  |  Height:  |  Size: 870 KiB

After

Width:  |  Height:  |  Size: 379 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 3 MiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 147 KiB

Before After
Before After

6
flake.lock generated
View file

@ -1616,11 +1616,11 @@
},
"nixpkgs-dev": {
"locked": {
"lastModified": 1767131767,
"narHash": "sha256-APHjXWyLmNKFNXoVU7Z82L8zUeSpR1/owKFryitWSsg=",
"lastModified": 1768915681,
"narHash": "sha256-/eIZP//Ey3HLNlZj8ucVXnzv+qO8RkGvUHWmFL58PzY=",
"owner": "Swarsel",
"repo": "nixpkgs",
"rev": "449fa265ea9c67c1ea9b1c3d8121959e2ce348d3",
"rev": "5f51dc7790416d9122723da3b4843ba8b49955d4",
"type": "github"
},
"original": {

View file

@ -84,7 +84,7 @@ in
};
restic.targets = {
SwarselMoonside = {
repository = config.repo.secrets.local.resticRepoState;
repository = config.repo.secrets.local.resticRepo;
paths = [
"/persist/opt/minecraft"
];

View file

@ -23,11 +23,7 @@ in
sops.secrets.kavita-token = { inherit sopsFile; owner = serviceUser; };
# networking.firewall.allowedTCPPorts = [ servicePort ];
topology.self.services.${serviceName} = {
name = "Kavita";
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
topology.self.services.${serviceName}.info = "https://${serviceDomain}";
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = serviceUser; group = serviceGroup; }];

View file

@ -63,19 +63,13 @@ in
# networking.firewall.allowedTCPPorts = [ servicePort federationPort ];
topology.self.services = {
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
} // (lib.listToAttrs (map
topology.self.services = lib.listToAttrs (map
(service:
lib.nameValuePair "mautrix-${service}" {
name = "mautrix-${service}";
icon = "${self}/files/topology-images/mautrix.png";
})
[ "whatsapp" "signal" "telegram" ]));
[ "whatsapp" "signal" "telegram" ]);
systemd = {
timers."restart-bridges" = {

View file

@ -30,11 +30,7 @@ in
mpv
];
topology.self.services.${serviceName} = {
name = lib.toUpper serviceName;
info = "http://localhost:${builtins.toString servicePort}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
topology.self.services.${serviceName}.info = "http://localhost:${builtins.toString servicePort}";
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = "mpd"; group = "mpd"; }];

View file

@ -8,13 +8,6 @@ in
options.swarselmodules.server.${serviceName} = lib.mkEnableOption "enable ${serviceName} on server";
config = lib.mkIf config.swarselmodules.server.${serviceName} {
topology.self.services = {
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
icon = "${self}/files/topology-images/${serviceName}.png";
};
};
services = {
${serviceName} = {
enable = true;

View file

@ -192,7 +192,8 @@
ender3 = mkDevice "Ender 3" {
info = "SKR V1.3, TMC2209 (Dual), TFT35";
image = "${self}/files/topology-images/ender3.png";
deviceIcon = "${self}/files/topology-images/ender3.png";
icon = "${self}/files/topology-images/raspi.png";
interfaces.eth1 = { };
services = {
octoprint = {