Using Omarchy for Software Development
Omarchy provides a developer-oriented Linux workstation with Neovim, Git tooling, optional runtime installers, Docker support, Tmux workflows and terminal utilities without pretending every language stack is installed by default.
Omarchy is unusually development-oriented out of the box, but that does not mean every programming language and framework is preinstalled.
The useful model is:
core workstation tools are present, while language environments and additional editors can be installed through Omarchy's setup system.
Start with the editor you actually use
Neovim ships with Omarchy and is tightly integrated into the keyboard-first workflow.
If you prefer something else, the current Install > Editor menu offers options including:
- VS Code;
- Cursor;
- Zed;
- Sublime Text;
- Helix;
- Vim;
- Emacs.
You can also set the system-wide default editor through Omarchy's defaults menu.
That lets the surrounding desktop remain consistent even if Neovim is not your primary editor.
Install development environments deliberately
The current Install > Development area supports a wide range of environments, including JavaScript runtimes, Python, Go, Rust, Java, .NET, Ruby, PHP ecosystems, Elixir and others.
Many runtime versions are managed through Mise.
That is preferable to assuming the base system should permanently carry every language version you might ever need.
For a new project, install the actual runtime and tooling required by that project.
Git tooling is already a first-class workflow
Omarchy integrates terminal-oriented Git tools.
Lazygit provides a TUI for staging, committing and navigating repository history.
The GitHub CLI is also part of the developer-oriented toolset.
That gives you several layers:
- ordinary
gitcommands; - GitHub CLI for GitHub-specific work;
- Lazygit for visual terminal interaction.
Use whichever level fits the task.
Docker is supported with an intentional security default
Omarchy supports Docker and Docker Compose.
The important detail is that the default setup does not casually place your account in the docker group.
That matters because Docker-group membership is effectively a path to root-level control of the machine.
Omarchy offers a separate sudoless-Docker option, but the current documentation warns about the security consequence.
For a workstation, requiring authorization by default is a reasonable boundary.
Tmux is useful for project-shaped work
Omarchy's terminal workflow includes Tmux helpers for common development layouts.
Those layouts can combine:
- editor panes;
- shells;
- coding agents;
- project-specific terminal sessions.
The exact helper inventory can change, so use the current terminal manual rather than building your workflow around a copied command list from an old post.
Containers and local runtimes solve different problems
A local runtime managed through Mise is useful when you want the language directly on the workstation.
A container is useful when you want to isolate project dependencies or reproduce a deployment environment.
You do not have to force every project into Docker simply because Docker is available.
Likewise, a project with complicated service dependencies may be easier to reproduce in containers than as a collection of global packages.
A practical project setup
For a new development project:
- create or clone the repository;
- confirm the required runtime;
- install that runtime through the supported Omarchy development tooling;
- open the project in your editor;
- initialize or inspect Git;
- add containers only where they solve a real dependency problem;
- keep project secrets out of the repository.
The Omarchy desktop then becomes the surrounding workstation rather than the project architecture itself.
For terminal-level Omarchy control, see The Omarchy CLI.
For durable configuration changes, see How to Customize Omarchy Without Breaking Future Updates.