mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-08 14:40:07 +03:00
Initial implementation for the Disnix avahi publisher
svn path=/nixos/trunk/; revision=24789
This commit is contained in:
parent
c77c3ab22c
commit
ad48c7c534
@ -33,6 +33,11 @@ in
|
||||
default = false;
|
||||
description = "Whether to enable the DisnixWebService interface running on Apache Tomcat";
|
||||
};
|
||||
|
||||
publishAvahi = mkOption {
|
||||
default = false;
|
||||
description = "Whether to publish capabilities/properties as a Disnix service through Avahi";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@ -75,6 +80,26 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
} //
|
||||
mkIf cfg.publishAvahi {
|
||||
|
||||
services.avahi.enable = true;
|
||||
|
||||
jobs.disnixAvahi =
|
||||
{ description = "Disnix Avahi publisher";
|
||||
|
||||
startOn = "started avahi-daemon";
|
||||
|
||||
exec =
|
||||
''
|
||||
${pkgs.avahi}/bin/avahi-publish-service disnix-$(${pkgs.nettools}/bin/hostname) _disnix._tcp 22 \
|
||||
"hostname=\"$(${pkgs.nettools}/bin/hostname)\"" \
|
||||
"mem=$(grep 'MemTotal:' /proc/meminfo | sed -e 's/kB//' -e 's/MemTotal://' -e 's/ //g')" \
|
||||
${optionalString (config.services.httpd.enable) ''"documentRoot=\"${config.services.httpd.documentRoot}\""''} \
|
||||
${optionalString (config.services.mysql.enable) ''"mysqlPort=3306"''} \
|
||||
${optionalString (config.services.tomcat.enable) ''"tomcatPort=8080"''} \
|
||||
"supportedTypes=[$(for i in ${disnix_activation_scripts}/libexec/disnix/activation-scripts/*; do echo -n " \"$(basename $i)\""; done) ]"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user