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 precisionansible– minor mode tricks for playbooksansible-doc–C-c C-dis your module oraclelsp-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.”