diff --git a/flake.nix b/flake.nix index b3ea223..91712a2 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,17 @@ alerttonotify.overlays.default labmon.overlays.default ]; + # Common modules applied to all hosts + commonModules = [ + ( + { config, pkgs, ... }: + { + nixpkgs.overlays = commonOverlays; + } + ) + sops-nix.nixosModules.sops + nixos-exporter.nixosModules.default + ]; allSystems = [ "x86_64-linux" "aarch64-linux" @@ -63,15 +74,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/ns1 - sops-nix.nixosModules.sops ]; }; ns2 = nixpkgs.lib.nixosSystem { @@ -79,15 +83,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/ns2 - sops-nix.nixosModules.sops ]; }; ha1 = nixpkgs.lib.nixosSystem { @@ -95,15 +92,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/ha1 - sops-nix.nixosModules.sops ]; }; template1 = nixpkgs.lib.nixosSystem { @@ -111,15 +101,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/template - sops-nix.nixosModules.sops ]; }; template2 = nixpkgs.lib.nixosSystem { @@ -127,15 +110,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/template2 - sops-nix.nixosModules.sops ]; }; http-proxy = nixpkgs.lib.nixosSystem { @@ -143,15 +119,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/http-proxy - sops-nix.nixosModules.sops ]; }; ca = nixpkgs.lib.nixosSystem { @@ -159,15 +128,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/ca - sops-nix.nixosModules.sops ]; }; monitoring01 = nixpkgs.lib.nixosSystem { @@ -175,17 +137,9 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/monitoring01 - sops-nix.nixosModules.sops labmon.nixosModules.labmon - nixos-exporter.nixosModules.default ]; }; jelly01 = nixpkgs.lib.nixosSystem { @@ -193,15 +147,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/jelly01 - sops-nix.nixosModules.sops ]; }; nix-cache01 = nixpkgs.lib.nixosSystem { @@ -209,15 +156,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/nix-cache01 - sops-nix.nixosModules.sops ]; }; pgdb1 = nixpkgs.lib.nixosSystem { @@ -225,15 +165,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/pgdb1 - sops-nix.nixosModules.sops ]; }; nats1 = nixpkgs.lib.nixosSystem { @@ -241,15 +174,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/nats1 - sops-nix.nixosModules.sops ]; }; testvm01 = nixpkgs.lib.nixosSystem { @@ -257,15 +183,8 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/testvm01 - sops-nix.nixosModules.sops ]; }; vault01 = nixpkgs.lib.nixosSystem { @@ -273,33 +192,19 @@ specialArgs = { inherit inputs self sops-nix; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) + modules = commonModules ++ [ ./hosts/vault01 - sops-nix.nixosModules.sops ]; }; - vaulttest01 = nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { - inherit inputs self sops-nix; + vaulttest01 = nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { + inherit inputs self sops-nix; + }; + modules = commonModules ++ [ + ./hosts/vaulttest01 + ]; }; - modules = [ - ( - { config, pkgs, ... }: - { - nixpkgs.overlays = commonOverlays; - } - ) - ./hosts/vaulttest01 - sops-nix.nixosModules.sops - ]; - }; }; packages = forAllSystems ( { pkgs }: diff --git a/hosts/monitoring01/configuration.nix b/hosts/monitoring01/configuration.nix index 7230011..3a95d73 100644 --- a/hosts/monitoring01/configuration.nix +++ b/hosts/monitoring01/configuration.nix @@ -99,23 +99,6 @@ ]; }; - # NixOS metrics exporter - services.prometheus.exporters.nixos = { - enable = true; - flake = { - enable = true; - url = "git+https://git.t-juice.club/torjus/nixos-servers.git"; - }; - }; - - # Register nixos-exporter as a Prometheus scrape target - homelab.monitoring.scrapeTargets = [ - { - job_name = "nixos-exporter"; - port = 9971; - } - ]; - labmon = { enable = true; diff --git a/system/monitoring/metrics.nix b/system/monitoring/metrics.nix index 45ac4d0..3a1ec44 100644 --- a/system/monitoring/metrics.nix +++ b/system/monitoring/metrics.nix @@ -18,4 +18,21 @@ "--systemd.collector.enable-ip-accounting" ]; }; + + services.prometheus.exporters.nixos = { + enable = true; + # Default port: 9971 + flake = { + enable = true; + url = "git+https://git.t-juice.club/torjus/nixos-servers.git"; + }; + }; + + # Register nixos-exporter as a Prometheus scrape target + homelab.monitoring.scrapeTargets = [ + { + job_name = "nixos-exporter"; + port = 9971; + } + ]; }