mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-21 04:49:01 +02:00
nixos/globalprotect: add settings option for service configuration
This commit is contained in:
parent
0d27868e91
commit
f880ea69ba
|
@ -5,7 +5,8 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.services.globalprotect;
|
cfg = config.services.globalprotect;
|
||||||
|
|
||||||
execStart = if cfg.csdWrapper == null then
|
execStart =
|
||||||
|
if cfg.csdWrapper == null then
|
||||||
"${pkgs.globalprotect-openconnect}/bin/gpservice"
|
"${pkgs.globalprotect-openconnect}/bin/gpservice"
|
||||||
else
|
else
|
||||||
"${pkgs.globalprotect-openconnect}/bin/gpservice --csd-wrapper=${cfg.csdWrapper}";
|
"${pkgs.globalprotect-openconnect}/bin/gpservice --csd-wrapper=${cfg.csdWrapper}";
|
||||||
|
@ -15,6 +16,22 @@ in
|
||||||
options.services.globalprotect = {
|
options.services.globalprotect = {
|
||||||
enable = mkEnableOption "globalprotect";
|
enable = mkEnableOption "globalprotect";
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
description = ''
|
||||||
|
GlobalProtect-openconnect configuration. For more information, visit
|
||||||
|
<link
|
||||||
|
xlink:href="https://github.com/yuezk/GlobalProtect-openconnect/wiki/Configuration"
|
||||||
|
/>.
|
||||||
|
'';
|
||||||
|
default = { };
|
||||||
|
example = {
|
||||||
|
"vpn1.company.com" = {
|
||||||
|
openconnect-args = "--script=/path/to/vpnc-script";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
type = types.attrs;
|
||||||
|
};
|
||||||
|
|
||||||
csdWrapper = mkOption {
|
csdWrapper = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
A script that will produce a Host Integrity Protection (HIP) report,
|
A script that will produce a Host Integrity Protection (HIP) report,
|
||||||
|
@ -29,6 +46,8 @@ in
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.dbus.packages = [ pkgs.globalprotect-openconnect ];
|
services.dbus.packages = [ pkgs.globalprotect-openconnect ];
|
||||||
|
|
||||||
|
environment.etc."gpservice/gp.conf".text = lib.generators.toINI { } cfg.settings;
|
||||||
|
|
||||||
systemd.services.gpservice = {
|
systemd.services.gpservice = {
|
||||||
description = "GlobalProtect openconnect DBus service";
|
description = "GlobalProtect openconnect DBus service";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
|
|
@ -21,10 +21,6 @@ stdenv.mkDerivation rec {
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
substituteInPlace GPService/gpservice.h \
|
substituteInPlace GPService/gpservice.h \
|
||||||
--replace /usr/local/bin/openconnect ${openconnect}/bin/openconnect;
|
--replace /usr/local/bin/openconnect ${openconnect}/bin/openconnect;
|
||||||
substituteInPlace GPClient/settingsdialog.ui \
|
|
||||||
--replace /etc/gpservice/gp.conf $out/etc/gpservice/gp.conf;
|
|
||||||
substituteInPlace GPService/gpservice.cpp \
|
|
||||||
--replace /etc/gpservice/gp.conf $out/etc/gpservice/gp.conf;
|
|
||||||
substituteInPlace GPService/CMakeLists.txt \
|
substituteInPlace GPService/CMakeLists.txt \
|
||||||
--replace /etc/gpservice $out/etc/gpservice;
|
--replace /etc/gpservice $out/etc/gpservice;
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue