Compare commits

...

2 commits

Author SHA1 Message Date
Leon Schwarzäugl
4fad38afdb
chore: update topology
Some checks failed
Flake check / Check flake (push) Has been cancelled
2025-07-23 01:16:34 +02:00
Leon Schwarzäugl
99586839c8
docs: host images on github 2025-07-23 01:15:25 +02:00
14 changed files with 353 additions and 285 deletions

6
.github/README.md vendored
View file

@ -9,8 +9,8 @@ That being said, there is a lot of general configuration that you *probably* can
# \~SwarselSystems\~
<p align="center">
<img src="https://i.imgur.com/bmgLNcu.png" width="49%" title="Tiling">
<img src="https://i.imgur.com/0G7Be6e.png" width="49%" title="Waybar">
<img width="49%" title="Tiling" alt="swarselsystems_preview1" src="https://github.com/user-attachments/assets/f6021ab9-6289-497d-8747-28f5d526b75a" />
<img width="49%" title="Waybar" alt="swarselsystems_preview2" src="https://github.com/user-attachments/assets/1160d9f7-710c-4046-8fcf-476bb4a0be84" />
</p>
## Overview
@ -104,6 +104,8 @@ Alternatively, to install this from any NixOS live ISO, run `nix run --experimen
<details>
<summary>Click here for a summary of my infrastructure</summary>
<img width="2202" height="2947" alt="topology" src="https://github.com/user-attachments/assets/0eb37288-47a8-40e3-9211-648eee0ed408" />
### Programs
| Topic | Program |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 MiB

View file

@ -967,6 +967,7 @@ Another note concerning [[https://flake.parts/][flake-parts]]:
(mkConnection "moonside" "wan")
(mkConnection "pfsense" "wan")
(mkConnection "milkywell" "wan")
(mkConnection "magicant" "wifi")
(mkConnection "toto" "bootstrapper")
(mkConnection "chaostheatre" "demo host")
];
@ -1025,6 +1026,10 @@ Another note concerning [[https://flake.parts/][flake-parts]]:
};
winters.interfaces."eth1" = { };
bakery.interfaces = {
"eth1" = { };
"wifi" = { };
};
wifi-ap = mkSwitch "Wi-Fi AP" {
info = "Huawei";
@ -1035,6 +1040,9 @@ Another note concerning [[https://flake.parts/][flake-parts]]:
"wifi"
]
];
connections = {
wifi = mkConnection "bakery" "wifi";
};
};
switch-livingroom = mkSwitch "Switch Livingroom" {
@ -1065,6 +1073,19 @@ Another note concerning [[https://flake.parts/][flake-parts]]:
interfaces.eth1 = { };
};
magicant = mkDevice "magicant" {
icon = "${self}/files/topology-images/phone.png";
info = "Samsung Z Flip 6";
image = "${self}/files/topology-images/zflip6.png";
interfaces.wifi = { };
};
machpizza = mkDevice "machpizza" {
info = "MacBook Pro 2016";
icon = "${self}/files/topology-images/mac.png";
interfaces."eth1" = { };
};
pc = mkDevice "Windows Gaming Server" {
info = "i7-4790k, GTX970, 32GB RAM";
image = "${self}/files/topology-images/pc.png";
@ -1086,6 +1107,7 @@ Another note concerning [[https://flake.parts/][flake-parts]]:
]
];
connections.eth2 = mkConnection "printer" "eth1";
connections.eth3 = mkConnection "machpizza" "eth1";
};
printer = mkDevice "Printer" {
@ -2059,7 +2081,7 @@ My personal laptop.
lowResolution = "1280x800";
highResolution = "1920x1080";
sharescreen = "eDP-1";
info = "Lenovo ThinkPad";
info = "Lenovo Ideapad 720S-13IKB";
firewall = lib.mkForce true;
wallpaper = self + /files/wallpaper/lenovowp.png;
hasBluetooth = true;
@ -2496,6 +2518,10 @@ This machine mainly acts as an external sync helper. It manages the following th
domain = "subnet03112148.vcn03112148.oraclevcn.com";
};
topology.self = {
icon = "devices.cloud-server";
};
hardware = {
enableAllFirmware = lib.mkForce false;
};
@ -2694,12 +2720,15 @@ This machine mainly acts as an external sync helper. It manages the following th
etc."issue".text = "\4";
};
topology.self.interfaces.wg = {
topology.self = {
icon = "devices.cloud-server";
interfaces.wg = {
addresses = [ "192.168.3.4" ];
renderer.hidePhysicalConnections = true;
virtual = true;
type = "wireguard";
};
};
networking = {
nftables.enable = lib.mkForce false;
@ -11104,16 +11133,17 @@ Sets environment variables. Here I am only setting the EDITOR variable, most var
in
{
options.swarselmodules.env = lib.mkEnableOption "env settings";
config = lib.mkIf config.swarselmodules.env {
config =z lib.mkIf config.swarselmodules.env {
home.sessionVariables = {
EDITOR = "e -w";
DISPLAY = ":0";
SWARSEL_LO_RES = config.swarselsystems.lowResolution;
SWARSEL_HI_RES = config.swarselsystems.highResolution;
CROC_RELAY = lib.mkIf (!isPublic) crocDomain;
};
systemd.user.sessionVariables = lib.mkIf (!isPublic) {
} // (lib.optionalAttrs (!isPublic) {
CROC_RELAY = crocDomain;
GITHUB_NOTIFICATION_TOKEN_PATH = nixosConfig.sops.secrets.github-notifications-token.path;
});
systemd.user.sessionVariables = lib.mkIf (!isPublic) {
SWARSEL_MAIL1 = address1;
SWARSEL_MAIL2 = address2;
SWARSEL_MAIL3 = address3;
@ -11631,6 +11661,8 @@ Currently I only use it as before with =initExtra= though.
boot-diff = "nix store diff-closures /run/*-system";
gen-diff = "nix profile diff-closures --profile /nix/var/nix/profiles/system";
cc = "wl-copy";
topology = "nix build .#topology.x86_64-linux.config.output";
iso = "nix build --print-out-paths .#live-iso";
}
config.swarselsystems.shellAliases;
autosuggestion.enable = true;
@ -22607,8 +22639,8 @@ Here lies defined the readme for GitHub and Forgejo:
# \~SwarselSystems\~
<p align="center">
<img src="https://i.imgur.com/bmgLNcu.png" width="49%" title="Tiling">
<img src="https://i.imgur.com/0G7Be6e.png" width="49%" title="Waybar">
<img width="49%" title="Tiling" alt="swarselsystems_preview1" src="https://github.com/user-attachments/assets/f6021ab9-6289-497d-8747-28f5d526b75a" />
<img width="49%" title="Waybar" alt="swarselsystems_preview2" src="https://github.com/user-attachments/assets/1160d9f7-710c-4046-8fcf-476bb4a0be84" />
</p>
## Overview
@ -22702,6 +22734,8 @@ Here lies defined the readme for GitHub and Forgejo:
<details>
<summary>Click here for a summary of my infrastructure</summary>
<img width="2202" height="2947" alt="topology" src="https://github.com/user-attachments/assets/0eb37288-47a8-40e3-9211-648eee0ed408" />
### Programs
<<programs>>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

After

Width:  |  Height:  |  Size: 209 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View file

@ -27,7 +27,7 @@ in
lowResolution = "1280x800";
highResolution = "1920x1080";
sharescreen = "eDP-1";
info = "Lenovo ThinkPad";
info = "Lenovo Ideapad 720S-13IKB";
firewall = lib.mkForce true;
wallpaper = self + /files/wallpaper/lenovowp.png;
hasBluetooth = true;

View file

@ -17,6 +17,10 @@
domain = "subnet03112148.vcn03112148.oraclevcn.com";
};
topology.self = {
icon = "devices.cloud-server";
};
hardware = {
enableAllFirmware = lib.mkForce false;
};

View file

@ -26,12 +26,15 @@ in
etc."issue".text = "\4";
};
topology.self.interfaces.wg = {
topology.self = {
icon = "devices.cloud-server";
interfaces.wg = {
addresses = [ "192.168.3.4" ];
renderer.hidePhysicalConnections = true;
virtual = true;
type = "wireguard";
};
};
networking = {
nftables.enable = lib.mkForce false;

View file

@ -8,16 +8,17 @@ let
in
{
options.swarselmodules.env = lib.mkEnableOption "env settings";
config = lib.mkIf config.swarselmodules.env {
config = z lib.mkIf config.swarselmodules.env {
home.sessionVariables = {
EDITOR = "e -w";
DISPLAY = ":0";
SWARSEL_LO_RES = config.swarselsystems.lowResolution;
SWARSEL_HI_RES = config.swarselsystems.highResolution;
CROC_RELAY = lib.mkIf (!isPublic) crocDomain;
};
systemd.user.sessionVariables = lib.mkIf (!isPublic) {
} // (lib.optionalAttrs (!isPublic) {
CROC_RELAY = crocDomain;
GITHUB_NOTIFICATION_TOKEN_PATH = nixosConfig.sops.secrets.github-notifications-token.path;
});
systemd.user.sessionVariables = lib.mkIf (!isPublic) {
SWARSEL_MAIL1 = address1;
SWARSEL_MAIL2 = address2;
SWARSEL_MAIL3 = address3;

View file

@ -49,6 +49,8 @@ in
boot-diff = "nix store diff-closures /run/*-system";
gen-diff = "nix profile diff-closures --profile /nix/var/nix/profiles/system";
cc = "wl-copy";
topology = "nix build .#topology.x86_64-linux.config.output";
iso = "nix build --print-out-paths .#live-iso";
}
config.swarselsystems.shellAliases;
autosuggestion.enable = true;

View file

@ -35,6 +35,7 @@
(mkConnection "moonside" "wan")
(mkConnection "pfsense" "wan")
(mkConnection "milkywell" "wan")
(mkConnection "magicant" "wifi")
(mkConnection "toto" "bootstrapper")
(mkConnection "chaostheatre" "demo host")
];
@ -93,6 +94,10 @@
};
winters.interfaces."eth1" = { };
bakery.interfaces = {
"eth1" = { };
"wifi" = { };
};
wifi-ap = mkSwitch "Wi-Fi AP" {
info = "Huawei";
@ -103,6 +108,9 @@
"wifi"
]
];
connections = {
wifi = mkConnection "bakery" "wifi";
};
};
switch-livingroom = mkSwitch "Switch Livingroom" {
@ -133,6 +141,19 @@
interfaces.eth1 = { };
};
magicant = mkDevice "magicant" {
icon = "${self}/files/topology-images/phone.png";
info = "Samsung Z Flip 6";
image = "${self}/files/topology-images/zflip6.png";
interfaces.wifi = { };
};
machpizza = mkDevice "machpizza" {
info = "MacBook Pro 2016";
icon = "${self}/files/topology-images/mac.png";
interfaces."eth1" = { };
};
pc = mkDevice "Windows Gaming Server" {
info = "i7-4790k, GTX970, 32GB RAM";
image = "${self}/files/topology-images/pc.png";
@ -154,6 +175,7 @@
]
];
connections.eth2 = mkConnection "printer" "eth1";
connections.eth3 = mkConnection "machpizza" "eth1";
};
printer = mkDevice "Printer" {