Emacs Org Mode as the Ansible Control Tower

The web is noise. The control tower is silent. No tabs, no clicks – only keys.
I don’t use Emacs for nostalgia. I use it because it bends to my will.
Ansible automates. Emacs orchestrates. Together, they form my Ops Terminal.

Step 0 – Inject the Ansible Language Server

sudo apt install npm
sudo npm install -g @ansible/ansible-language-server

YAML is the battlefield. LSP is the HUD. Autocomplete. Diagnostics. Hover help.
You don’t click to fix mistakes. You see them before they exist.

Step 1 – Forge the Environment

(use-package yaml-mode
  :mode "\\.ya?ml\\'")

(use-package ansible
  :hook (yaml-mode . ansible))

(use-package ansible-doc
  :hook (yaml-mode . ansible-doc-mode))

(use-package lsp-mode
  :commands lsp lsp-deferred
  :hook ((yaml-mode . lsp-deferred)))

Each package is a blade:

  • yaml-mode – syntax precision
  • ansible – minor mode tricks for playbooks
  • ansible-docC-c C-d is your module oracle
  • lsp-mode – the silent link to your language server

Step 2 – Point the Blade

If Emacs doesn’t find the server, show it the path.

(setq lsp-ansible-server-command '("ansible-language-server" "--stdio"))

Find it with:

which ansible-language-server

Result – A Tower in the Fog

Now I write playbooks in silence.
No noise. No distractions. No clicks.
Just Emacs. Just Ops.
No one hears the tower speak – because it doesn’t.
But it runs everything.

DeadSwitch | The Cyber Ghost
“In silence, we rise. In the switch, we fade.”

Leave a comment