diff --git a/nixos/modules/services/networking/freenet.nix b/nixos/modules/services/networking/freenet.nix index 1c9b0ef66618..a0c67796377b 100644 --- a/nixos/modules/services/networking/freenet.nix +++ b/nixos/modules/services/networking/freenet.nix @@ -1,54 +1,39 @@ -# NixOS module for Freenet daemon { config, lib, pkgs, ... }: -let +let cfg = config.services.freenet; varDir = "/var/lib/freenet"; - in - { - - ### configuration - options = { - services.freenet = { - - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable the Freenet daemon"; - }; + enable = lib.mkEnableOption "Freenet daemon"; nice = lib.mkOption { type = lib.types.int; default = 10; description = "Set the nice level for the Freenet daemon"; }; - }; - }; - ### implementation - config = lib.mkIf cfg.enable { - systemd.services.freenet = { description = "Freenet daemon"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = "${pkgs.freenet}/bin/freenet"; - serviceConfig.User = "freenet"; - serviceConfig.UMask = "0007"; - serviceConfig.WorkingDirectory = varDir; - serviceConfig.Nice = cfg.nice; + serviceConfig = { + ExecStart = lib.getExe pkgs.freenet; + User = "freenet"; + UMask = "0007"; + WorkingDirectory = varDir; + Nice = cfg.nice; + }; }; users.users.freenet = { @@ -62,4 +47,5 @@ in users.groups.freenet.gid = config.ids.gids.freenet; }; + meta.maintainers = with lib.maintainers; [ nagy ]; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4b664b09e014..68ae76f605b0 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -492,7 +492,7 @@ in inherit runTest; forgejoPackage = pkgs.forgejo-lts; }; - freenet = handleTest ./freenet.nix { }; + freenet = runTest ./freenet.nix; freeswitch = handleTest ./freeswitch.nix { }; freetube = discoverTests (import ./freetube.nix); freshrss = handleTest ./freshrss { }; diff --git a/nixos/tests/freenet.nix b/nixos/tests/freenet.nix index 8f6caf8160ca..d57b55401267 100644 --- a/nixos/tests/freenet.nix +++ b/nixos/tests/freenet.nix @@ -1,24 +1,21 @@ -import ./make-test-python.nix ( - { pkgs, ... }: - { - name = "freenet"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nagy ]; - }; +{ lib, ... }: - nodes = { - machine = - { ... }: - { - services.freenet.enable = true; - }; - }; +{ + name = "freenet"; + meta = { + maintainers = with lib.maintainers; [ nagy ]; + }; - testScript = '' - machine.wait_for_unit("freenet.service") - machine.wait_for_open_port(8888) - machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet") - machine.succeed("systemctl stop freenet") - ''; - } -) + nodes = { + machine = { + services.freenet.enable = true; + }; + }; + + testScript = '' + machine.wait_for_unit("freenet.service") + machine.wait_for_open_port(8888) + machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet") + machine.succeed("systemctl stop freenet") + ''; +}