module Knives.NetMan where
import Utils
import CommandLine
import Control.Monad (when)
knifeNetMan :: NetManOptions -> IO ()
knifeNetMan NetManOptions { activateNM
, enableNM
, deactivateNM
, disableNM
, reactivateNM}
| isExclusiveOr [ activateNM
, enableNM
, deactivateNM
, disableNM
, reactivateNM] = do
when activateNM activate
when enableNM enable
when deactivateNM deactivate
when disableNM disable
when reactivateNM reactivate
return ()
| otherwise = putStrLn("You must specify one and only one option for NetMan.")
where
service = "NetworkManager.service"
activate = systemctl_ ["start", service]
enable = systemctl_ ["enable", "--now", service]
deactivate = systemctl_ ["stop", service]
disable = systemctl_ ["disable", "--now", service]
reactivate = systemctl_ ["restart", service]