mirror of
https://git.disroot.org/pranav/pybatmesh.git
synced 2024-12-27 10:30:23 +05:30
45 lines
1.4 KiB
Desktop File
45 lines
1.4 KiB
Desktop File
# The naxalnet systemd service
|
|
# See man:systemd.service(5) and man:systemd.unit(5)
|
|
# before editing this file.
|
|
[Unit]
|
|
Description=Setup mesh networks
|
|
Requires=systemd-networkd.service
|
|
Requires=iwd.service
|
|
Wants=systemd-resolved.service
|
|
After=iwd.service
|
|
After=systemd-networkd.service
|
|
After=systemd-resolved.service
|
|
# Stops NetworkManager and wpa_supplicant if already running
|
|
Conflicts=NetworkManager.service
|
|
Conflicts=wpa_supplicant.service
|
|
# This stops networkmanager and wpa_supplicant when naxalnet is enabled
|
|
After=NetworkManager.service
|
|
After=wpa_supplicant.service
|
|
|
|
[Service]
|
|
# TODO: change to notify when naxalnet becomes a daemon
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
Restart=on-failure
|
|
RestartSec=2sec
|
|
# IWD takes some time to find devices.
|
|
# If naxalnet is run before iwd finds devices,
|
|
# naxalnet cannot start a mesh network but exits without errors.
|
|
# So, we give a 2s delay.
|
|
ExecStartPre=/usr/bin/sleep 2
|
|
ExecStart=/usr/bin/naxalnet
|
|
# Reload systemd-networkd after naxalnet exits
|
|
ExecStartPost=/usr/bin/networkctl reload
|
|
# Delete all files starting with mesh.* in /run/systemd/network
|
|
ExecStop=/usr/bin/find /run/systemd/network -type f -delete -name "mesh.*"
|
|
# Delete the interfaces created...
|
|
ExecStopPost=/usr/bin/networkctl delete bridge0 bat0
|
|
# ... and reload the configuration files.
|
|
ExecStopPost=/usr/bin/networkctl reload
|
|
|
|
# Disable python buffering
|
|
Environment=PYTHONUNBUFFERED=1
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|