Skip to content

isd (interactive systemd) — a better way to work with systemd units

License

Notifications You must be signed in to change notification settings

isd-project/isd

Repository files navigation

isd — interactive systemd

isd — a better way to work with systemd units

Simplify systemd management with isd! isd is a TUI offering fuzzy search for units, auto-refreshing previews, smart sudo handling, and a fully customizable interface for power-users and newcomers alike.

isd is a keyboard-focused, highly customizable TUI with the following features:

  • Quickly switch between system and user units
  • Fuzzy search units
  • Auto refresh previews
  • Quickly open outputs in a pager or editor
  • Auto sudo prefixing if required
  • Auto rescale depending on terminal window size (fluid design)
  • Extensive command palette with many keyboard shortcuts
  • Fully configurable keybindings
  • Optional input state caching for common inputs
  • Theme support
  • YAML configuration file with auto-complete

Demo

demo_opt.webm

Click here for a higher quality recording.

Documentation

The documentation is live at:

Road map

A collection of some unordered ideas that could improve isd:

  • Option to view the security rating of units
  • Improve highlighting of systemd units (tree-sitter grammar)
  • Write a custom, more secure $EDITOR integration (more secure sytemctl edit)
  • Add icon for project and application menu
  • Allow customization of preview windows
  • Improve journal_pager integration
  • Add custom sort options
  • Faster fuzzy search
  • Improve default themes

Acknowledgments

Big thanks to the developers of:

  • systemd for creating the most widely used service manager for Linux
  • NixOS for piquing my interest in systemd and service managers
  • sysz for providing a starting point and a desire to build a more complex systemctl TUI
  • textual for making it a breeze to create TUIs in Python
  • mkdocs-material for building a solid and simple to use static site generator for the documentation
  • asciinema for developing an easy to use and self-hostable terminal recorder and player
  • vhs for creating a scriptable terminal program