diff --git a/nix/base-system/darwin-configuration.nix b/nix/base-system/darwin-configuration.nix index eebb648..bc63733 100644 --- a/nix/base-system/darwin-configuration.nix +++ b/nix/base-system/darwin-configuration.nix @@ -161,6 +161,8 @@ } ]; + services.victoria-logs.enable = true; + # TODO launchd.user.agents.prometheus; # Use a custom configuration.nix location. # $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix diff --git a/nix/base-system/flake.nix b/nix/base-system/flake.nix index b8f99bd..56920f6 100644 --- a/nix/base-system/flake.nix +++ b/nix/base-system/flake.nix @@ -355,6 +355,7 @@ EOF"; (systemModule system) (vimModule system) ./modules/darwin-monitor.nix + ./modules/victoria-logs.nix ./darwin-configuration.nix ]; }; diff --git a/nix/base-system/modules/victoria-logs.nix b/nix/base-system/modules/victoria-logs.nix new file mode 100644 index 0000000..9afdbf1 --- /dev/null +++ b/nix/base-system/modules/victoria-logs.nix @@ -0,0 +1,33 @@ +{pkgs, lib, config, ...}: +with lib; +{ + options.services = { + victoria-logs = { + enable = mkEnableOption "Enable the VictoriaLogs service"; + dataPath = mkOption { + description = "Logging directory path for victoria-logs service"; + default = "/Users/Zaphar/opt/victoria-logs"; + }; + listenAddr = mkOption { + description = "Socket Address to listen on"; + default = ":9428"; + }; + }; + }; + + config = { + launchd.user.agents.victoria-logs = mkIf config.services.victoria-logs.enable { + serviceConfig = { + ProgramArguments = [ + "${pkgs.victoriametrics}/bin/victoria-logs" + "-storageDataPath=${config.services.victoria-logs.dataPath}/data" + "-httpListenAddr=${config.services.victoria-logs.listenAddr}" + ]; + KeepAlive = true; + RunAtLoad = true; + StandardOutPath = "${config.services.victoria-logs.dataPath}/victoria-logs.out.log"; + StandardErrorPath = "${config.services.victoria-logs.dataPath}/victoria-logs.err.log"; + }; + }; + }; +}