🐧LinuxHub
nixos
❄️

NixOS

v24.25.11최신

선언적 구성으로 완전히 재현 가능한 운영체제

전문가안정 버전독립 배포판EOL: 2025-06

최소 RAM

4 GB

최소 저장공간

20 GB

패키지 관리자

nix-env

릴리즈

2024-11-30

개요

NixOS는 Nix 패키지 관리자를 기반으로 하는 완전히 독특한 리눅스 배포판입니다. 시스템 전체 구성을 /etc/nixos/configuration.nix 파일 하나에 선언적으로 정의하고,nixos-rebuild switch 명령 한 번으로 시스템 상태를 완전히 재현합니다.

원자적 업그레이드·완전한 롤백이 핵심 특징입니다. 업데이트 후 문제가 생기면 부트로더 메뉴에서 이전 세대를 선택하거나 nixos-rebuild switch --rollback으로 이전 상태로 완전히 돌아갈 수 있습니다. Nixpkgs는 80,000개 이상의 패키지를 보유한 세계 최대 패키지 저장소 중 하나입니다.

ℹ️

NixOS가 혁신적인 이유

  • 재현 가능성: 동일한 configuration.nix로 언제 어디서나 동일한 시스템 재현
  • 롤백: 업데이트로 시스템이 깨져도 부팅 시 이전 세대 선택 가능
  • 원자적 업데이트: 업데이트 도중 시스템이 절대 불안정해지지 않음
  • nix-shell / devShells: 프로젝트별 독립 개발 환경을 선언적으로 정의

✅ 장점

  • +완전한 시스템 재현 가능성
  • +원자적 업데이트 + 완전한 롤백
  • +80,000+ 패키지 (Nixpkgs)
  • +프로젝트별 devShell로 환경 격리
  • +Home Manager로 사용자 환경도 선언적 관리

⚠️ 단점

  • Nix 언어 학습 필수
  • 독특한 /nix/store 기반 파일시스템 구조
  • 일부 FHS 기대 앱 호환 문제 (patchelf 필요)
  • 문서 파편화 및 학습 자료 부족
  • 디스크 공간 많이 사용 (nix-store 캐시)
#선언적#재현 가능#DevOps#롤백#독립 배포판#Nix#Flakes

다운로드

ℹ️
아래 링크는 모두 공식 배포 페이지로 연결됩니다. 파일 다운로드 후 반드시 공식 사이트에서 SHA256 체크섬을 확인하세요.
타입에디션 / 파일
💿isoGNOME (그래픽 설치 환경)다운로드
💿isoKDE Plasma다운로드
💿isoMinimal ISO (CLI 전용)다운로드
💿isoARM64다운로드
💿isoSD Card Image (Raspberry Pi 4)다운로드

설치 가이드

1

USB 생성

sudo dd if=nixos-gnome-24.11.*.x86_64-linux.iso \       of=/dev/sdX bs=4M status=progress && sync
2

Calamares 설치 마법사

Live 환경 부팅 후 바탕화면의 "Install NixOS" 아이콘을 클릭합니다.

  • 파티셔닝: 자동 또는 수동 선택
  • 파일시스템: ext4 (기본) 또는 btrfs
  • 사용자 계정 및 비밀번호 설정
  • 설치 완료 후 재부팅
3

설치 후 첫 번째 구성

configuration.nix 기본 편집
# 설정 파일 열기sudo nano /etc/nixos/configuration.nix # 구성 적용sudo nixos-rebuild switch

NixOS 구성 이해하기

💡

Nix 언어 기초

Nix는 함수형 언어입니다. configuration.nix는 함수를 반환하는 파일로, 시스템 전체를 코드로 표현합니다.

기본 configuration.nix 예시

/etc/nixos/configuration.nix
{ config, pkgs, ... }: {  # 부트로더  boot.loader.systemd-boot.enable = true;  boot.loader.efi.canTouchEfiVariables = true;   # 네트워크 (호스트명 + NetworkManager)  networking.hostName = "my-nixos";  networking.networkmanager.enable = true;   # 시간대 및 언어  time.timeZone = "Asia/Seoul";  i18n.defaultLocale = "ko_KR.UTF-8";   # 한국어 입력기  i18n.inputMethod = {    enabled = "fcitx5";    fcitx5.addons = with pkgs; [ fcitx5-hangul fcitx5-gtk ];  };   # 데스크톱 환경 (KDE Plasma 예시)  services.xserver.enable = true;  services.displayManager.sddm.enable = true;  services.desktopManager.plasma6.enable = true;   # 사운드 (PipeWire)  sound.enable = true;  hardware.pulseaudio.enable = false;  security.rtkit.enable = true;  services.pipewire = {    enable = true;    alsa.enable = true;    pulse.enable = true;  };   # 사용자 설정  users.users.alice = {    isNormalUser = true;    extraGroups = [ "wheel" "networkmanager" "audio" "video" ];    packages = with pkgs; [      firefox      git      vscode    ];  };   # sudo 활성화  security.sudo.enable = true;   # 시스템 패키지  environment.systemPackages = with pkgs; [    vim    wget    curl    htop  ];   # 방화벽  networking.firewall.enable = true;   # SSH (선택)  services.openssh.enable = false;   # NixOS 버전 (절대 변경하지 마세요)  system.stateVersion = "24.11";}

구성 적용 및 롤백

# 구성 변경 후 적용sudo nixos-rebuild switch # 재부팅 없이 테스트 (다음 부팅에 적용 안 됨)sudo nixos-rebuild test # 이전 세대로 롤백sudo nixos-rebuild switch --rollback # 세대 목록 확인sudo nix-env --list-generations --profile /nix/var/nix/profiles/system # 오래된 세대 정리sudo nix-collect-garbage -d

Nix Flakes (현대적 방식)

ℹ️
Flakes는 실험적 기능이지만 재현성을 더욱 강화하고 대부분의 현대 NixOS 사용자가 채택합니다.
# /etc/nixos/configuration.nix에 추가:nix.settings.experimental-features = [ "nix-command" "flakes" ]; # flake.nix 작성 후:sudo nixos-rebuild switch --flake /etc/nixos#hostname

Home Manager (사용자 환경 선언적 관리)

# Home Manager 채널 추가nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz home-managernix-channel --update # 설치nix-shell '<home-manager>' -A install # ~/.config/home-manager/home.nix 작성# home.packages, programs.git, programs.zsh 등 선언적 관리

시스템 요구사항

최소 RAM4 GB (데스크톱) / 1 GB (CLI 서버)
최소 저장공간20 GB (시간이 지나면 /nix/store 증가 — 50 GB 이상 권장)
지원 아키텍처x86_64, ARM64, RISC-V
패키지 관리자Nix (nix-env, nix profile)
Init 시스템systemd
릴리즈 주기6개월 (24.05, 24.11, 25.05, ...)
패키지 수80,000+ (Nixpkgs, 세계 최대 수준)
공식 문서nixos.org/manual ↗