ma uhub: move to new configuration, add more groups to users
This commit is contained in:
parent
738429a942
commit
7b48c923fd
|
@ -39,7 +39,9 @@ in {
|
||||||
home = stateDir;
|
home = stateDir;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
createHome = true;
|
createHome = true;
|
||||||
|
group = ddclientUser;
|
||||||
};
|
};
|
||||||
|
users.groups.${ddclientUser} = {};
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
ddclient-nsupdate-uhub = {
|
ddclient-nsupdate-uhub = {
|
||||||
|
@ -86,29 +88,30 @@ in {
|
||||||
users.groups.uhub = {};
|
users.groups.uhub = {};
|
||||||
services.uhub.home = {
|
services.uhub.home = {
|
||||||
enable = true;
|
enable = true;
|
||||||
port = 1511;
|
|
||||||
enableTLS = true;
|
enableTLS = true;
|
||||||
hubConfig = ''
|
settings = {
|
||||||
hub_name = "krebshub"
|
server_port = 1511;
|
||||||
tls_certificate = ${uhubDir}/uhub.crt
|
hub_name = "krebshub";
|
||||||
tls_private_key = ${uhubDir}/uhub.key
|
tls_certificate = "${uhubDir}/uhub.crt";
|
||||||
registered_users_only = true
|
tls_private_key = "${uhubDir}/uhub.key";
|
||||||
'';
|
registered_users_only = true;
|
||||||
plugins = {
|
|
||||||
welcome = {
|
|
||||||
enable = true;
|
|
||||||
motd = "shareit";
|
|
||||||
rules = "1. Don't be an asshole";
|
|
||||||
};
|
|
||||||
history = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
authSqlite = {
|
|
||||||
enable = true;
|
|
||||||
file = "${uhubDir}/uhub.sql";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
plugin = "${pkgs.uhub}/plugins/mod_auth_sqlite.so";
|
||||||
|
settings.file = "${uhubDir}/uhub.sql";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
plugin = "${pkgs.uhub}/plugins/mod_welcome.so";
|
||||||
|
settings.motd = "shareit";
|
||||||
|
settings.rules = "1. Don't be an asshole";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
plugin = "${pkgs.uhub}/plugins/mod_history.so";
|
||||||
|
settings.motd = "shareit";
|
||||||
|
settings.rules = "1. Don't be an asshole";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
networking.firewall.allowedTCPPorts = [ 411 1511 ];
|
networking.firewall.allowedTCPPorts = [ 411 1511 ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,14 +28,16 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in {
|
in {
|
||||||
users.extraUsers = singleton {
|
users.users.${ddclientUser} = {
|
||||||
name = ddclientUser;
|
name = ddclientUser;
|
||||||
uid = genid "ddclient";
|
uid = genid ddclientUser;
|
||||||
description = "ddclient daemon user";
|
description = "ddclient daemon user";
|
||||||
home = stateDir;
|
home = stateDir;
|
||||||
createHome = true;
|
createHome = true;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
|
group = ddclientUser;
|
||||||
};
|
};
|
||||||
|
users.groups.${ddclientUser} = {};
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
ddclient-nsupdate-elchos = {
|
ddclient-nsupdate-elchos = {
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
{ stdenv, lib, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkgconfig, systemd
|
|
||||||
, tlsSupport ? false }:
|
|
||||||
|
|
||||||
assert tlsSupport -> openssl != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "uhub";
|
|
||||||
version = "2019-06-18";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "janvidar";
|
|
||||||
repo = "uhub";
|
|
||||||
rev = "78a703924064a92cedeb0a5aab5a80d8f77db73e";
|
|
||||||
sha256 = "1dqmj08salhbcdlkglbi03hn9jzgmhjqlb0iysafpzrrwi0mca1z";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
|
||||||
buildInputs = [ cmake sqlite systemd ] ++ lib.optional tlsSupport openssl;
|
|
||||||
|
|
||||||
outputs = [ "out"
|
|
||||||
"mod_example"
|
|
||||||
"mod_welcome"
|
|
||||||
"mod_logging"
|
|
||||||
"mod_auth_simple"
|
|
||||||
"mod_auth_sqlite"
|
|
||||||
"mod_chat_history"
|
|
||||||
"mod_chat_only"
|
|
||||||
"mod_topic"
|
|
||||||
"mod_no_guest_downloads"
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
<nixpkgs/pkgs/servers/uhub/plugin-dir.patch>
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = ''
|
|
||||||
-DSYSTEMD_SUPPORT=ON
|
|
||||||
${if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF"}
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "High performance peer-to-peer hub for the ADC network";
|
|
||||||
homepage = https://www.uhub.org/;
|
|
||||||
license = licenses.gpl3;
|
|
||||||
maintainers = [ maintainers.ehmry ];
|
|
||||||
platforms = platforms.unix;
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue