Skip to content
Aayan AmirSoftware developer
Back to selected work

Linux desktop application

NoTerm

Discover a Linux task. Review what it will run.

  • C#
  • .NET 8
  • Avalonia UI 12
  • Npgsql 10
  • Linux
Workflow illustration: choose a task, review the command, read the result
Workflow illustration based on the README · not an application screenshot

What I brought to the project

I built a task-first command center around a predefined action catalog, validated inputs and visible execution results. It helps users find a task while preserving a review step before higher-impact actions.

What the application delivers

The desktop app includes 66 built-in actions across ten system areas. An optional PostgreSQL catalog can supply validated actions, while a built-in fallback keeps the catalog available when database loading fails.

  • 66 actions across System, Storage, Network and seven other areas
  • Intent search, grouped actions and validated parameters
  • Command previews, risk confirmations and polkit integration
  • stdout/stderr and exit status, plus catalog diagnostics

Engineering decisions

Use predefined actions instead of arbitrary shell text

ProcessStartInfo.ArgumentList passes arguments without shell-string interpolation. Type-specific validation covers package/service names, hostnames, relative paths, process IDs and file names.

Keep privilege and impact visible

Administrator and destructive actions are marked and confirmed. Privileged operations delegate to pkexec; file-path actions are home-relative by design. These measures reduce risk, rather than guaranteeing every operation is harmless.

Treat the remote catalog as optional

The Supabase/PostgreSQL integration validates loaded data and falls back to the built-in catalog. A CLI consistency self-test checks duplicate IDs, categories and parameter placeholders; a separate mode seeds the database.

The problem

Routine Linux maintenance can require remembering commands, parameters and their consequences. A friendly interface still needs to make privileged or destructive operations explicit.

The approach

Users search by intent, choose an action, supply any required parameter and review the command preview and impact badges. Risky actions request confirmation; execution reports standard output, standard error and exit status in the application.

Scope and limitations

Ubuntu/Linux is the primary target. Actions depend on installed utilities; privileged operations require working polkit and a desktop session.

Based on the project README, reviewed 24 October 2026.

Have a similar problem to solve?

I’m open to backend and full-stack roles, and freelance projects.