Advertisement
Guest User

guix config with NetworkManager WiFi connection password

a guest
Jan 2nd, 2024
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.44 KB | None | 0 0
  1. (define (vii-network-manager-connection-service-activation config)
  2.   (let ((src (assoc-ref (current-source-location) 'filename)))
  3.     #~(begin
  4.     (use-modules (guix build utils)
  5.              (ice-9 match))
  6.     (mkdir-p "/etc/NetworkManager/system-connections")
  7.    
  8.     (for-each (match-lambda ((filename contents)
  9.                  (let ((f (string-append "/etc/NetworkManager/system-connections/" filename)))
  10.                    (call-with-output-file f
  11.                    (lambda (p)
  12.                      (format p "# vii-network-manager-connection-service-activation ~a ~a~%" #$src (strftime "%c" (localtime (current-time))))
  13.                      (display contents p)
  14.                      ))
  15.                    (chmod f #o600))))
  16.           `#$config
  17.           ))))
  18.  
  19. (define vii-network-manager-connection-service-type
  20.   (service-type
  21.    (name 'vii-network-manager-connection-service)
  22.    (description "Copies WiFi password to network manager system connection with proper 0600 permissions so that NetworkManager does not ignore them")
  23.    (extensions
  24.     (list (service-extension activation-service-type vii-network-manager-connection-service-activation)))))
  25.  
  26.  
  27.  
  28. ; Example
  29.     (service vii-network-manager-connection-service-type `(
  30.                                ("HOME-viiguix.nmconnection"  "[connection]
  31. id=HOME
  32. uuid=df0b2685-d198-42de-b8fb-9b9fa2ea711c
  33. type=wifi
  34. permissions=
  35.  
  36. [wifi]
  37. mode=infrastructure
  38. ssid=HOME
  39.  
  40. [wifi-security]
  41. auth-alg=open
  42. key-mgmt=wpa-psk
  43. psk=home
  44.  
  45. [ipv4]
  46. method=auto
  47.  
  48. [ipv6]
  49. addr-gen-mode=default
  50. method=auto
  51.  
  52. [proxy]
  53. ")))
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement