nixos/freenet: refactor
This commit is contained in:
parent
699c1f4c7a
commit
0604d0aedd
@ -1,54 +1,39 @@
|
|||||||
# NixOS module for Freenet daemon
|
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
|
|
||||||
|
let
|
||||||
cfg = config.services.freenet;
|
cfg = config.services.freenet;
|
||||||
varDir = "/var/lib/freenet";
|
varDir = "/var/lib/freenet";
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
### configuration
|
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
services.freenet = {
|
services.freenet = {
|
||||||
|
enable = lib.mkEnableOption "Freenet daemon";
|
||||||
enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Enable the Freenet daemon";
|
|
||||||
};
|
|
||||||
|
|
||||||
nice = lib.mkOption {
|
nice = lib.mkOption {
|
||||||
type = lib.types.int;
|
type = lib.types.int;
|
||||||
default = 10;
|
default = 10;
|
||||||
description = "Set the nice level for the Freenet daemon";
|
description = "Set the nice level for the Freenet daemon";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
### implementation
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
systemd.services.freenet = {
|
systemd.services.freenet = {
|
||||||
description = "Freenet daemon";
|
description = "Freenet daemon";
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig.ExecStart = "${pkgs.freenet}/bin/freenet";
|
serviceConfig = {
|
||||||
serviceConfig.User = "freenet";
|
ExecStart = lib.getExe pkgs.freenet;
|
||||||
serviceConfig.UMask = "0007";
|
User = "freenet";
|
||||||
serviceConfig.WorkingDirectory = varDir;
|
UMask = "0007";
|
||||||
serviceConfig.Nice = cfg.nice;
|
WorkingDirectory = varDir;
|
||||||
|
Nice = cfg.nice;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.freenet = {
|
users.users.freenet = {
|
||||||
@ -62,4 +47,5 @@ in
|
|||||||
users.groups.freenet.gid = config.ids.gids.freenet;
|
users.groups.freenet.gid = config.ids.gids.freenet;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ nagy ];
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user