summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/systemd/systemd.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/systemd/systemd.plugin.zsh')
-rw-r--r--oh-my-zsh/plugins/systemd/systemd.plugin.zsh116
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
+}