aboutsummaryrefslogtreecommitdiff
path: root/nixos/hosts/ev
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2025-12-25 18:59:14 +0100
committerMartin Fischer <martin@push-f.com>2025-12-26 08:03:25 +0100
commita36b384657a11acdb267bfefa9bc7719ab6ab4a0 (patch)
tree875f01397f3b93361221d220facc1d1b6931960c /nixos/hosts/ev
parentfe82080cb6b38e3100b08308d48bd78220c9ec3c (diff)
refactor: introduce Services and Monitoring sections
Diffstat (limited to 'nixos/hosts/ev')
-rw-r--r--nixos/hosts/ev/default.nix92
1 files changed, 58 insertions, 34 deletions
diff --git a/nixos/hosts/ev/default.nix b/nixos/hosts/ev/default.nix
index 0723b8d..459b48f 100644
--- a/nixos/hosts/ev/default.nix
+++ b/nixos/hosts/ev/default.nix
@@ -48,19 +48,13 @@ in
# unsure why this is necessary
networking.interfaces.enp3s0.useDHCP = true;
- home-automation.zigbee2mqttPort = ports.zigbee2mqtt;
- qbittorrent.webUiPort = ports.qbittorrent;
- qbittorrent.networkNamespace = "se";
- monitoring.alloyUiPort = ports.grafanaAlloy;
- monitoring.lokiPort = ports.grafanaLoki;
- monitoring.prometheusPort = ports.prometheus;
- monitoring.prometheusNodeExporterPort = ports.prometheusNodeExporter;
- exporters.sqlExporterPort = ports.prometheusSqlExporter;
- hosehawk.port = ports.hosehawk;
- miniflux.port = ports.miniflux;
- navidrome.port = ports.navidrome;
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ networking.hostName = "ev";
+ networking.networkmanager.enable = true;
- home-automation.zigbeeSerialPort = "/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_e2fed465c59ded11962fd7a5a7669f5d-if00-port0";
+ time.timeZone = "Europe/Vienna";
fileSystems = {
"/mnt/personal" = {
@@ -75,6 +69,58 @@ in
};
};
+ users.users = {
+ martin = {
+ isNormalUser = true;
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ ];
+ };
+ };
+
+ # Services
+
+ services.nginx = {
+ enable = true;
+ virtualHosts."ev.tailnet" = helpers.serviceIndexHost "ev.tailnet" ports.webUis;
+ };
+
+ home-automation = {
+ zigbee2mqttPort = ports.zigbee2mqtt;
+ zigbeeSerialPort = "/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_e2fed465c59ded11962fd7a5a7669f5d-if00-port0";
+ };
+
+ hosehawk = {
+ port = ports.hosehawk;
+ };
+
+ miniflux = {
+ port = ports.miniflux;
+ };
+
+ navidrome = {
+ port = ports.navidrome;
+ };
+
+ qbittorrent = {
+ webUiPort = ports.qbittorrent;
+ networkNamespace = "se";
+ };
+
+ # Monitoring
+
+ exporters = {
+ sqlExporterPort = ports.prometheusSqlExporter;
+ };
+
+ monitoring = {
+ alloyUiPort = ports.grafanaAlloy;
+ lokiPort = ports.grafanaLoki;
+ prometheusPort = ports.prometheus;
+ prometheusNodeExporterPort = ports.prometheusNodeExporter;
+ };
+
# Backups
age.secrets.restic-db.file = ./secrets/restic-db.age;
age.secrets.restic-media.file = ./secrets/restic-media.age;
@@ -107,23 +153,6 @@ in
};
};
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
-
- networking.hostName = "ev";
-
- networking.networkmanager.enable = true;
-
- time.timeZone = "Europe/Vienna";
-
- users.users.martin = {
- isNormalUser = true;
- extraGroups = [
- "networkmanager"
- "wheel"
- ];
- };
-
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [
# Enabling openssh automatically opens its port in the firewall.
@@ -131,11 +160,6 @@ in
];
networking.firewall.allowedUDPPorts = [];
- services.nginx = {
- enable = true;
- virtualHosts."ev.tailnet" = helpers.serviceIndexHost "ev.tailnet" ports.webUis;
- };
-
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It‘s perfectly fine and recommended to leave