How to install Ansible in NixOS — Ansible install
By Luca Berton · Published 2024-01-01 · Category: installation
Install Ansible on NixOS with this 2026 guide. Learn the declarative approach to installing and configuring Ansible with Nix.

Declarative Installation (Recommended)
For a permanent system-wide installation, add Ansible to your NixOS configuration: Edit your NixOS configuration:
sudo nano /etc/nixos/configuration.nix
Add Ansible to the system packages:
environment.systemPackages = with pkgs; [
ansible
ansible-lint
];
Rebuild your system:
sudo nixos-rebuild switch
See also: How to install Ansible in Debian 13 Trixie — Ansible install
Imperative Installation (Quick)
For a quick user-level installation:
Introduction
NixOS is a popular choice for server and desktop environments, and combining it with Ansible enables powerful automation capabilities. This guide walks you through installing Ansible on NixOS, from updating your system to verifying the installation and running your first Ansible command.
See also: How to install Ansible in Fedora 40 — Ansible install
Prerequisites
Before you begin, ensure that you have: • Access to a NixOS system with root or sudo privileges. • An active internet connection to download necessary packages. • Python 3.12 or later installed (included by default in NixOS).
Step-by-Step Installation
Connect to Your Server Initiate an SSH connection from your terminal:ssh devops@nixos.example.com
Switch to Root User For installing system-wide software:
sudo su
Update System Packages Before installing any new software, update your system:
nix-channel --update && nixos-rebuild switch
Confirm any prompts to ensure your system has the latest updates. Check Available Ansible Packages Verify which Ansible packages are available:
nix-env -qaA nixpkgs.ansible
Install Ansible Using the nix package manager, install Ansible:
nix-env -iA nixpkgs.ansible
This command installs Ansible along with its dependencies. Confirm the installation when prompted. Verify the Installation Once installation is complete, check the installed version:
ansible --version
This command displays the version of Ansible and configuration details, confirming a successful installation.
See also: How to install Ansible in Fedora 43 — Ansible install
Configuration and First Steps
Configure Ansible Ansible configurations can be adjusted in theansible.cfg file located in /etc/ansible/. Customize settings like default inventory file, privilege escalation settings, and more.
Edit the Inventory File Ansible uses an inventory file to track managed servers:
[local]
localhost ansible_connection=local
[webservers]
web1.example.com
web2.example.com
Test Ansible Connectivity Ensure that Ansible can communicate with your hosts:
ansible all -m ping
Expected output:
localhost | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
Conclusion
With Ansible installed on NixOS, you are now ready to automate your infrastructure. Whether managing configurations, deploying applications, or automating daily tasks, Ansible provides the tools necessary for efficient and error-free operations.
Start by creating simple playbooks to familiarize yourself with Ansible's capabilities, and gradually progress to more complex automations. The vast community-driven library of modules and roles available through Ansible Galaxy can significantly reduce your scripting efforts and ensure reliable, repeatable configurations across your environment.
For more Ansible tutorials and guides, explore the complete article collection on Ansible Pilot.
Related Articles
• the Ansible Galaxy reference • sudo and become in Ansible playbooks • Ansible inventory complete reference • role variables and defaults in AnsibleCategory: installation