sydtui 1.0.0

A TUI for managing groups of systemd services
sydtui-1.0.0 is not a library.

sydtui

Systemd Services TUI Manager build with ratatui.

This program is used to create groups of systemd services to activate/deactivate or enable/disable in bulk.

Some use cases may include creating a group of services to be disabled quickly as a "battery saver" mode, or to quickly enable server-like services when needed.

! DISCLAIMER: This utility uses systemctl to manage systemd services. sudo might be required to fully use this feature. To preserve enviroment variables (for the config path), you can use sudo -E.

Features

You can create, rename, duplicate, and delete service groups, and toggle their activation and enablement in bulk.

You can also activate or enable a single service as well as view their logs.

Configuration

Configuration is done via config.toml.

The path to the config file can be specified via the SYDTUI_CONFIG environment variable. To preserve environment variables when running as root, you can use sudo -E sydtui.

Otherwise, the default path is ~/.config/sydtui/config.toml (again, be careful if the app is run as root).

CLI usage

If no arguments are provided, sydtui will run in TUI mode.

This CLI mode allows for scripting with the created groups of services.

Running sydtui --help shows the available options:

A TUI for managing groups of systemd services

Usage: sydtui [OPTIONS]

Options:
  -a, --activate <SERVICE_GROUP>  Toggle the activation of a group of services
  -e, --enable <SERVICE_GROUP>    Toggle the enablement of a group of services
  -l, --list                List all available service groups
  -h, --help                Print help
  -V, --version             Print version

TUI Keyboard shortcuts

Keyboard shortcuts are defined in config.toml.

The default keybindings are shown below, and can be viewed in the app with ?.

[keybindings]
exit = ["q", "esc"]
help = ["?"]
enter = ["enter"]
save = ["s"]
reload = ["f"]
previous = ["up"]
next = ["down"]
new = ["n"]
rename = ["r"]
duplicate = ["y"]
delete = ["d"]
toggle_activate = [" "]
toggle_enabled = ["e"]
view_logs = ["l"]