# Manually override INIT system (optional) set -gx INIT_SYSTEM "systemd" # Auto-detect init system if not set if not set -q INIT_SYSTEM if type -q systemctl set -gx INIT_SYSTEM "systemd" else if type -q rc-service set -gx INIT_SYSTEM "openrc" else if type -q sv set -gx INIT_SYSTEM "runit" else if test -x /etc/rc.d set -gx INIT_SYSTEM "bsdrc" else if test -x /etc/init.d set -gx INIT_SYSTEM "sysvinit" end end # Set aliases based on init system switch $INIT_SYSTEM case systemd alias ser_start="sudo systemctl start" alias ser_restart="sudo systemctl restart" alias ser_stop="sudo systemctl stop" alias ser_status="sudo systemctl status" alias ser_enable="sudo systemctl enable" alias ser_disable="sudo systemctl disable" case openrc alias ser_start="sudo rc-service" alias ser_restart="sudo rc-service" alias ser_stop="sudo rc-service" alias ser_status="sudo rc-service" alias ser_enable="sudo rc-update add" alias ser_disable="sudo rc-update del" case runit alias ser_start="sudo sv up" alias ser_restart="sudo sv restart" alias ser_stop="sudo sv down" alias ser_status="sudo sv status" alias ser_enable="ln -s /etc/sv" # manual step required alias ser_disable="rm -f /var/service" case bsdrc alias ser_start="sudo service" alias ser_restart="sudo service" alias ser_stop="sudo service" alias ser_status="sudo service" alias ser_enable="sudo sysrc" alias ser_disable="sudo sysrc" case sysvinit alias ser_start="sudo /etc/init.d" alias ser_restart="sudo /etc/init.d" alias ser_stop="sudo /etc/init.d" alias ser_status="sudo /etc/init.d" alias ser_enable="echo 'Enable manually with update-rc.d'" alias ser_disable="echo 'Disable manually with update-rc.d'" end