What is NixOS?
A Linux distribution built on the Nix package manager
Offers fully reproducible builds and upgrades
Configuration management through declarative files
Reproducible Builds
Every system configuration can be replicated exactly
Atomic Upgrades and Rollbacks
Safely upgrade or rollback without affecting the system stability
User Environments
Isolated package management for each user
The Heart of NixOS
Functional package management system
Packages are built in isolation
Nix Expressions
How packages and configurations are defined
Written in the Nix language
Installation Overview
Download the NixOS ISO
Prepare the installation media
Boot from the USB/CD and follow the installation guide
Configuration
/etc/nixos/configuration.nix is the central configuration file
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
wget vim
];
}
Declarative System Configuration
Define what packages and services you want
NixOS takes care of how to achieve that state
Example: Enabling SSH Daemon
services.openssh.enable = true;
Installing a Package
Use the nix-env
command
Example: Installing Firefox
nix-env -iA nixos.firefox
Searching for Packages
Use nix search
to find available packages
NixOS Wiki
A great resource for tutorials and guides
NixOS.org
Official documentation and download portal
Community Forums and Chat
Places to ask questions and share knowledge