isd
— A Better Way to Work withsystemd
Units
Simplify systemd
management with isd
!
isd
is a TUI offering fuzzy search for units, auto-refreshing previews,
smart sudo
handling, and a fully customizeable interface
for power-users and newcomers alike.
Short Motivation¶
If you ever became frustrated while typing:
systemctl start --user unit-A.service
(manually starting a unit ⬆️)systemctl status --user unit-A.service
(seeing that it failed ❌)journalctl -xe --user -u unit-A.service
(checking the logs 🔬)systemctl edit --user unit-A.service
(updating the unit 🧑🔬)systemctl start --user unit-A.service
(starting it again ⬆️)systemctl status --user unit-A.service
(checking the logs again 🔬)- And repeat 🔁
This tool is for you!
But isd
is not only designed for systemd
power-users!
isd
lowers the bar to interact with systemd
units and provides a unified
interface that only shows relevant information and commands.
If you only ever run systemctl status
, then isd
is might still be for you,
since isd
will auto-refresh the output.
If you are interested, read on and take a look at the recorded terminal session.
Installation¶
isd
can currently be installed in three different ways:
An AppImage is a single self-containing executable, similar to a Windows
.exe
and MacOS .dmg
file. This should make it easy to run isd
on any Linux distribution and on remote servers where you do
not have elevated privileges.
Manual installation:
First, download the .AppImage
file from:
Then make the file executable as
mentioned in the AppImage documentation
and run the application.
Managed installation:
Or manage the .AppImage
via AppImageLauncher
for better desktop integration support (application icon & entry) and in-app
update functionality.
Warning
If you have nix
installed, this AppImage
will not work!
Either use the nix
or uv
installation instructions!
isd
is developed with a reproducible nix environment and build as a nix package.
This is my personal preference to install isd
but it is a higher barrier compared to the .AppImage
.
To install nix with sensible default options, use the nix-installer
from determinate.systems.
Then, to try out isd
, simply run nix run https://github.com/isd-project/isd
.
To install isd
, add it to your packages list:
# flake.nix
{
# [...]
inputs.isd.url = "https://github.com/isd-project/isd"
# [...]
outputs = {self, ...}@inputs: {
# [...]
# inside nixosConfigurations..modules or
# {
# environment.systemPackages = [ inputs.isd.default ];
# };
# homeConfigurations..modules =