diff --git a/nixos/modules/services/networking/tetrd.nix b/nixos/modules/services/networking/tetrd.nix index 939c1227886f..7d5fc5960336 100644 --- a/nixos/modules/services/networking/tetrd.nix +++ b/nixos/modules/services/networking/tetrd.nix @@ -5,24 +5,30 @@ ... }: +let + cfg = config.services.tetrd; +in { - options.services.tetrd.enable = lib.mkEnableOption "tetrd"; + options.services.tetrd = { + enable = lib.mkEnableOption "tetrd"; + package = lib.mkPackageOption pkgs "tetrd" { }; + }; - config = lib.mkIf config.services.tetrd.enable { + config = lib.mkIf cfg.enable { environment = { - systemPackages = [ pkgs.tetrd ]; - etc."resolv.conf".source = "/etc/tetrd/resolv.conf"; + systemPackages = [ cfg.package ]; + # etc."resolv.conf".source = "/etc/tetrd/resolv.conf"; # Disabled overwriting of resolve.conf since otherwise tetrd disables your dns when its not connected to a device. }; systemd = { tmpfiles.rules = [ "f /etc/tetrd/resolv.conf - - -" ]; services.tetrd = { - description = pkgs.tetrd.meta.description; + description = cfg.package.meta.description; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${pkgs.tetrd}/opt/Tetrd/bin/tetrd"; + ExecStart = "${cfg.package}/opt/Tetrd/bin/tetrd"; Restart = "always"; RuntimeDirectory = "tetrd"; RootDirectory = "/run/tetrd";