Use overlay

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-08-17 21:24:31 +03:00
parent 795ea28583
commit 09fbf7150c
95 changed files with 546 additions and 735 deletions

View File

@@ -3,12 +3,10 @@
config,
inputs,
pkgs,
system,
lib,
...
}:
let
selfPkgs = inputs.self.packages.${system};
hmConfig = config.home-manager.users.${user};
jupiterVpsConfig = inputs.self.nixosConfigurations.jupiter-vps.config;
in
@@ -19,7 +17,7 @@ in
# The below containers all need to run as root to collect host metrics.
virtualisation.quadlet.containers = {
prometheus-node-exporter.containerConfig = {
image = "docker-archive:${selfPkgs.docker-prometheus-node-exporter}";
image = "docker-archive:${pkgs.dockerImages.prometheus-node-exporter}";
# Allow collecting host metrics, port :9100 by default
networks = [ "host" ];
podmanArgs = [
@@ -56,14 +54,14 @@ in
};
prometheus-podman-exporter.containerConfig = {
image = "docker-archive:${selfPkgs.docker-prometheus-podman-exporter}";
image = "docker-archive:${pkgs.dockerImages.prometheus-podman-exporter}";
publishPorts = [ "9882:9882/tcp" ];
volumes = [ "/run/podman/podman.sock:/run/podman/podman.sock:ro" ];
exec = [ "--collector.enable-all" ];
};
prometheus-smartctl-exporter.containerConfig = {
image = "docker-archive:${selfPkgs.docker-prometheus-smartctl-exporter}";
image = "docker-archive:${pkgs.dockerImages.prometheus-smartctl-exporter}";
publishPorts = [ "9633:9633/tcp" ];
podmanArgs = [ "--privileged" ];
};
@@ -84,7 +82,7 @@ in
containers = {
prometheus-node-exporter.containerConfig = {
image = "docker-archive:${selfPkgs.docker-prometheus-node-exporter}";
image = "docker-archive:${pkgs.dockerImages.prometheus-node-exporter}";
networks = [ networks.prometheus.ref ];
volumes =
let
@@ -100,7 +98,7 @@ in
};
prometheus-podman-exporter.containerConfig = {
image = "docker-archive:${selfPkgs.docker-prometheus-podman-exporter}";
image = "docker-archive:${pkgs.dockerImages.prometheus-podman-exporter}";
networks = [ networks.prometheus.ref ];
volumes =
let
@@ -111,7 +109,7 @@ in
};
prometheus.containerConfig = {
image = "docker-archive:${selfPkgs.docker-prometheus}";
image = "docker-archive:${pkgs.dockerImages.prometheus}";
volumes =
let
prometheusConfig = (pkgs.formats.yaml { }).generate "prometheus.yaml" {