From 0667d67c9540604738c8d5c5a5c872e70bcf2b3b Mon Sep 17 00:00:00 2001 From: Sam Griffin Date: Wed, 20 Aug 2014 22:57:41 -0400 Subject: [PATCH 1/2] Adding vpnc configuration module --- nixos/modules/config/vpnc.nix | 41 +++++++++++++++++++++++++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 42 insertions(+) create mode 100644 nixos/modules/config/vpnc.nix diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix new file mode 100644 index 00000000000..956a4c7d3fd --- /dev/null +++ b/nixos/modules/config/vpnc.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.networking.vpnc; + mkServiceDef = name: value: + { + source = builtins.toFile "${name}.conf" value; + target = "vpnc/${name}.conf"; + }; + +in +{ + options = { + networking.vpnc = { + services = mkOption { + type = types.attrsOf types.str; + default = []; + example = { + test = + '' + IPSec gateway 192.168.1.1 + IPSec ID someID + IPSec secret secretKey + Xauth username name + Xauth password pass + ''; + }; + description = + '' + The names of cisco VPNs and their associated definitions + ''; + }; + }; + }; + + config.environment.etc = mapAttrsToList mkServiceDef cfg.services; +} + + diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 6754c8a4f1a..297ca0d1be4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -21,6 +21,7 @@ ./config/system-environment.nix ./config/system-path.nix ./config/timezone.nix + ./config/vpnc.nix ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./config/zram.nix From ec8e4d23f11132e2433fcb4d976f646b3164bf61 Mon Sep 17 00:00:00 2001 From: Sam Griffin Date: Sun, 31 Aug 2014 13:00:54 -0400 Subject: [PATCH 2/2] cleanup per Lethalman's suggestions --- nixos/modules/config/vpnc.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix index 956a4c7d3fd..e79e4d1c20f 100644 --- a/nixos/modules/config/vpnc.nix +++ b/nixos/modules/config/vpnc.nix @@ -6,8 +6,8 @@ let cfg = config.networking.vpnc; mkServiceDef = name: value: { - source = builtins.toFile "${name}.conf" value; - target = "vpnc/${name}.conf"; + name = "vpnc/${name}.conf"; + value = { text = value; }; }; in @@ -35,7 +35,7 @@ in }; }; - config.environment.etc = mapAttrsToList mkServiceDef cfg.services; + config.environment.etc = mapAttrs' mkServiceDef cfg.services; }