diff options
Diffstat (limited to 'oh-my-zsh/plugins/systemd/systemd.plugin.zsh')
-rw-r--r-- | oh-my-zsh/plugins/systemd/systemd.plugin.zsh | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/systemd/systemd.plugin.zsh b/oh-my-zsh/plugins/systemd/systemd.plugin.zsh new file mode 100644 index 0000000..7afd2be --- /dev/null +++ b/oh-my-zsh/plugins/systemd/systemd.plugin.zsh @@ -0,0 +1,116 @@ +# systemctl aliases +user_commands=( + cat + get-default + help + is-active + is-enabled + is-failed + is-system-running + list-dependencies + list-jobs + list-sockets + list-timers + list-unit-files + list-units + show + show-environment + status +) + +sudo_commands=( + add-requires + add-wants + cancel + daemon-reexec + daemon-reload + default + disable + edit + emergency + enable + halt + import-environment + isolate + kexec + kill + link + list-machines + load + mask + preset + preset-all + reenable + reload + reload-or-restart + reset-failed + rescue + restart + revert + set-default + set-environment + set-property + start + stop + switch-root + try-reload-or-restart + try-restart + unmask + unset-environment +) + +power_commands=( + hibernate + hybrid-sleep + poweroff + reboot + suspend +) + +for c in $user_commands; do + alias "sc-$c"="systemctl $c" + alias "scu-$c"="systemctl --user $c" +done + +for c in $sudo_commands; do + alias "sc-$c"="sudo systemctl $c" + alias "scu-$c"="systemctl --user $c" +done + +for c in $power_commands; do + alias "sc-$c"="systemctl $c" +done + +unset c user_commands sudo_commands power_commands + + +# --now commands +alias sc-enable-now="sc-enable --now" +alias sc-disable-now="sc-disable --now" +alias sc-mask-now="sc-mask --now" + +alias scu-enable-now="scu-enable --now" +alias scu-disable-now="scu-disable --now" +alias scu-mask-now="scu-mask --now" + + +function systemd_prompt_info { + local unit + for unit in "$@"; do + echo -n "$ZSH_THEME_SYSTEMD_PROMPT_PREFIX" + + if [[ -n "$ZSH_THEME_SYSTEMD_PROMPT_CAPS" ]]; then + echo -n "${(U)unit:gs/%/%%}:" + else + echo -n "${unit:gs/%/%%}:" + fi + + if systemctl is-active "$unit" &>/dev/null; then + echo -n "$ZSH_THEME_SYSTEMD_PROMPT_ACTIVE" + else + echo -n "$ZSH_THEME_SYSTEMD_PROMPT_NOTACTIVE" + fi + + echo -n "$ZSH_THEME_SYSTEMD_PROMPT_SUFFIX" + done +} |