Parent directory

README.md

6673 bytes

Systemd plugin

The systemd plugin provides many useful aliases for systemd.

To use it, add systemd to the plugins array of your zshrc file:

plugins=(... systemd)

Aliases

| Alias | Command | Description | |:-----------------------|:-----------------------------------|:-----------------------------------------------------------------| | sc-failed | systemctl --failed | List failed systemd units | | sc-list-units | systemctl list-units | List all units systemd has in memory | | sc-is-active | systemctl is-active | Show whether a unit is active | | sc-status | systemctl status | Show terse runtime status information about one or more units | | sc-show | systemctl show | Show properties of units, jobs, or the manager itself | | sc-help | systemctl help | Show man page of units | | sc-list-unit-files | systemctl list-unit-files | List unit files installed on the system | | sc-is-enabled | systemctl is-enabled | Checks whether any of the specified unit files are enabled | | sc-list-jobs | systemctl list-jobs | List jobs that are in progress | | sc-show-environment | systemctl show-environment | Dump the systemd manager environment block | | sc-cat | systemctl cat | Show backing files of one or more units | | sc-list-timers | systemctl list-timers | List timer units currently in memory | | Aliases with sudo ||| | sc-start | sudo systemctl start | Start Unit(s) | | sc-stop | sudo systemctl stop | Stop Unit(s) | | sc-reload | sudo systemctl reload | Reload Unit(s) | | sc-restart | sudo systemctl restart | Restart Unit(s) | | sc-try-restart | sudo systemctl try-restart | Restart Unit(s) | | sc-isolate | sudo systemctl isolate | Start a unit and its dependencies and stop all others | | sc-kill | sudo systemctl kill | Kill unit(s) | | sc-reset-failed | sudo systemctl reset-failed | Reset the "failed" state of the specified units, | | sc-enable | sudo systemctl enable | Enable unit(s) | | sc-disable | sudo systemctl disable | Disable unit(s) | | sc-reenable | sudo systemctl reenable | Reenable unit(s) | | sc-preset | sudo systemctl preset | Reset the enable/disable status one or more unit files | | sc-mask | sudo systemctl mask | Mask unit(s) | | sc-unmask | sudo systemctl unmask | Unmask unit(s) | | sc-link | sudo systemctl link | Link a unit file into the unit file search path | | sc-load | sudo systemctl load | Load unit(s) | | sc-cancel | sudo systemctl cancel | Cancel job(s) | | sc-set-environment | sudo systemctl set-environment | Set one or more systemd manager environment variables | | sc-unset-environment | sudo systemctl unset-environment | Unset one or more systemd manager environment variables | | sc-edit | sudo systemctl edit | Edit a drop-in snippet or a whole replacement file with --full | | sc-enable-now | sudo systemctl enable --now | Enable and start unit(s) | | sc-disable-now | sudo systemctl disable --now | Disable and stop unit(s) | | sc-mask-now | sudo systemctl mask --now | Mask and stop unit(s) |

User aliases

You can use the above aliases as --user by using the prefix scu instead of sc. For example: scu-list-units will be aliased to systemctl --user list-units.

Unit Status Prompt

You can add a token to your prompt in a similar way to the gitfast plugin. To add the token to your prompt, drop $(systemd_prompt_info [unit]...) into your prompt (more than one unit may be specified).

The plugin will add the following to your prompt for each $unit.

<prefix><unit>:<active|notactive><suffix>

You can control these parts with the following variables:

  • <prefix>: Set $ZSH_THEME_SYSTEMD_PROMPT_PREFIX.

  • <suffix>: Set $ZSH_THEME_SYSTEMD_PROMPT_SUFFIX.

  • <unit>: name passed as parameter to the function. If you want it to be in ALL CAPS, you can set the variable $ZSH_THEME_SYSTEMD_PROMPT_CAPS to a non-empty string.

  • <active>: shown if the systemd unit is active. Set $ZSH_THEME_SYSTEMD_PROMPT_ACTIVE.

  • <notactive>: shown if the systemd unit is not active. Set $ZSH_THEME_SYSTEMD_PROMPT_NOTACTIVE.

For example, if your prompt contains PROMPT='$(systemd_prompt_info dhcpd httpd)' and you set the following variables:

ZSH_THEME_SYSTEMD_PROMPT_PREFIX="["
ZSH_THEME_SYSTEMD_PROMPT_SUFFIX="]"
ZSH_THEME_SYSTEMD_PROMPT_ACTIVE="+"
ZSH_THEME_SYSTEMD_PROMPT_NOTACTIVE="X"
ZSH_THEME_SYSTEMD_PROMPT_CAPS=1

If dhcpd is running, and httpd is not, then your prompt will look like this:

[DHCPD: +][HTTPD: X]