1
0

ntnu-vpn.nix 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. { pkgs, ... }:
  2. {
  3. networking = {
  4. networkmanager = {
  5. plugins = with pkgs; [
  6. networkmanager-openconnect
  7. ];
  8. };
  9. };
  10. environment.systemPackages = with pkgs; [
  11. openconnect
  12. networkmanagerapplet
  13. ];
  14. environment.etc."gnutls/config".text = ''
  15. [overrides]
  16. disabled-version = tls1.0
  17. disabled-version = tls1.1
  18. disabled-version = tls1.3
  19. '';
  20. system.activationScripts.networkmanager-ntnu = ''
  21. FILE="/etc/NetworkManager/system-connections/NTgNU-VPN.nmconnection"
  22. if [ ! -f "$FILE" ]; then
  23. mkdir -p /etc/NetworkManager/system-connections
  24. cat <<'EOF' > "$FILE"
  25. [connection]
  26. id=NTNU-VPN
  27. uuid=cd280eb7-4b51-47c7-bcb8-6ce6951bb721
  28. type=vpn
  29. autoconnect=false
  30. [vpn]
  31. authtype=password
  32. autoconnect-flags=0
  33. certsigs-flags=0
  34. cookie-flags=2
  35. disable_udp=no
  36. enable_csd_trojan=no
  37. gateway=vpn2.ntnu.no
  38. gateway-flags=2
  39. gnutls_priorities=NORMAL:-VERS-ALL:+VERS-TLS1.2
  40. gwcert-flags=2
  41. lasthost-flags=0
  42. pem_passphrase_fsid=no
  43. prevent_invalid_cert=no
  44. protocol=anyconnect
  45. resolve-flags=2
  46. stoken_source=disabled
  47. useragent=AnyConnect Linux
  48. usergroup=SSO
  49. service-type=org.freedesktop.NetworkManager.openconnect
  50. [ipv4]
  51. method=auto
  52. [ipv6]
  53. addr-gen-mode=stable-privacy
  54. method=auto
  55. EOF
  56. chmod 0600 "$FILE"
  57. ${pkgs.networkmanager}/bin/nmcli connection reload
  58. fi
  59. '';
  60. }