Welcome to NixOS Basics

What is NixOS?

A Linux distribution built on the Nix package manager
Offers fully reproducible builds and upgrades
Configuration management through declarative files

Key Features of NixOS 🌟

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

Understanding the Nix Package Manager 🔍

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

Setting Up NixOS 🛠️

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
];
}

Working with NixOS Configuration Files 📝

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;

Package Management in NixOS 📦

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 Community and Resources 🌐

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