Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (vii-network-manager-connection-service-activation config)
- (let ((src (assoc-ref (current-source-location) 'filename)))
- #~(begin
- (use-modules (guix build utils)
- (ice-9 match))
- (mkdir-p "/etc/NetworkManager/system-connections")
- (for-each (match-lambda ((filename contents)
- (let ((f (string-append "/etc/NetworkManager/system-connections/" filename)))
- (call-with-output-file f
- (lambda (p)
- (format p "# vii-network-manager-connection-service-activation ~a ~a~%" #$src (strftime "%c" (localtime (current-time))))
- (display contents p)
- ))
- (chmod f #o600))))
- `#$config
- ))))
- (define vii-network-manager-connection-service-type
- (service-type
- (name 'vii-network-manager-connection-service)
- (description "Copies WiFi password to network manager system connection with proper 0600 permissions so that NetworkManager does not ignore them")
- (extensions
- (list (service-extension activation-service-type vii-network-manager-connection-service-activation)))))
- ; Example
- (service vii-network-manager-connection-service-type `(
- ("HOME-viiguix.nmconnection" "[connection]
- id=HOME
- uuid=df0b2685-d198-42de-b8fb-9b9fa2ea711c
- type=wifi
- permissions=
- [wifi]
- mode=infrastructure
- ssid=HOME
- [wifi-security]
- auth-alg=open
- key-mgmt=wpa-psk
- psk=home
- [ipv4]
- method=auto
- [ipv6]
- addr-gen-mode=default
- method=auto
- [proxy]
- ")))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement