Commit 9a0281fd authored by K900's avatar K900
Browse files

Merge remote-tracking branch 'origin/master' into staging-next

parents d24f0da4 87f17273
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -12415,6 +12415,13 @@
    githubId = 34899572;
    name = "jopejoe1";
  };
  jordan-bravo = {
    name = "Jordan Bravo";
    email = "jordan@bravo.cc";
    github = "jordan-bravo";
    githubId = 62706808;
    keys = [ { fingerprint = "9C7B 45CD CF53 B483 9BB8  000E C6E3 AECE B5E1 0B1E"; } ];
  };
  jordanisaacs = {
    name = "Jordan Isaacs";
    email = "nix@jdisaacs.com";
@@ -24550,6 +24557,12 @@
    githubId = 28858039;
    name = "Tuomas Mäkinen";
  };
  taciturnaxolotl = {
    email = "me@dunkirk.sh";
    github = "taciturnaxolotl";
    githubId = 92754843;
    name = "Kieran Klukas";
  };
  tadfisher = {
    email = "tadfisher@gmail.com";
    github = "tadfisher";
+2 −0
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@

- [qBittorrent](https://www.qbittorrent.org/), is a bittorrent client programmed in C++ / Qt that uses libtorrent by Arvid Norberg. Available as [services.qbittorrent](#opt-services.qbittorrent.enable).

- [Speedify](https://speedify.com/), a proprietary VPN which allows combining multiple internet connections (Wi-Fi, 4G, 5G, Ethernet, Starlink, Satellite, and more) to improve the stability, speed, and security of online experiences. Available as [services.speedify](#opt-services.speedify.enable).

- [Szurubooru](https://github.com/rr-/szurubooru), an image board engine inspired by services such as Danbooru, dedicated for small and medium communities. Available as [services.szurubooru](#opt-services.szurubooru.enable).

- The [Neat IP Address Planner](https://spritelink.github.io/NIPAP/) (NIPAP) can now be enabled through [services.nipap.enable](#opt-services.nipap.enable).
+1 −0
Original line number Diff line number Diff line
@@ -1335,6 +1335,7 @@
  ./services/networking/soju.nix
  ./services/networking/solanum.nix
  ./services/networking/spacecookie.nix
  ./services/networking/speedify.nix
  ./services/networking/spiped.nix
  ./services/networking/squid.nix
  ./services/networking/ssh/sshd.nix
+4 −0
Original line number Diff line number Diff line
@@ -119,6 +119,10 @@ in
              "${pkgs.bees}/bin/bees-service-wrapper run ${configOptsStr} -- --no-timestamps ${lib.escapeShellArgs fs.extraOptions}"
            ];
          SyslogIdentifier = "beesd"; # would otherwise be "bees-service-wrapper"

          # Ensure that hashtable can be locked into memory
          LimitMEMLOCK = "${toString fs.hashTableSizeMB}M";
          MemoryMin = "${toString fs.hashTableSizeMB}M";
        };
        unitConfig.RequiresMountsFor = lib.mkIf (lib.hasPrefix "/" fs.spec) fs.spec;
        wantedBy = [ "multi-user.target" ];
+59 −0
Original line number Diff line number Diff line
{
  config,
  lib,
  pkgs,
  ...
}:
let
  cfg = config.services.speedify;
in
{
  options.services.speedify = {
    enable = lib.mkOption {
      type = lib.types.bool;
      default = false;
      description = ''
        This option enables Speedify daemon.
        This sets {option}`networking.firewall.checkReversePath` to "loose", which might be undesirable for security.
      '';
    };

    package = lib.mkPackageOption pkgs "speedify" { };
  };

  config = lib.mkIf cfg.enable {
    boot.kernelModules = [ "tun" ];

    networking.firewall.checkReversePath = "loose";

    systemd.services.speedify = {
      description = "Speedify Service";
      wantedBy = [ "multi-user.target" ];
      wants = [
        "network.target"
        "network-online.target"
      ];
      after = [
        "network-online.target"
      ]
      ++ lib.optional config.networking.networkmanager.enable "NetworkManager.service";
      path = [
        pkgs.procps
        pkgs.nettools
      ];
      serviceConfig = {
        ExecStart = "${cfg.package}/share/speedify/SpeedifyStartup.sh";
        ExecStop = "${cfg.package}/share/speedify/SpeedifyShutdown.sh";
        Restart = "on-failure";
        RestartSec = 5;
        TimeoutStartSec = 30;
        TimeoutStopSec = 30;
        Type = "forking";
      };
    };
  };

  meta.maintainers = with lib.maintainers; [
    zahrun
  ];
}
Loading