Qo'llanma
NixOS bilan boshlash

NixOS bilan ishlashni boshlash

Endi Nix tilining asoslarini oʻrganib chiqdik, NixOS tizimimizni sozlash uchun undan foydalanishni boshlashimiz mumkin. NixOSʼning standart konfiguratsiya fayli /etc/nixos/configuration.nix manzilida joylashgan. Ushbu fayl tizimning barcha deklarativ konfiguratsiyalarini oʻz ichiga oladi: vaqt mintaqasi, til, klaviatura tartibi, tarmoq sozlamalari, foydalanuvchilar, fayl tizimi va yuklash imkoniyatlari.

Tizim holatini qayta ishlab chiqariladigan usulda oʻzgartirish uchun (bu tavsiya qilinadi), /etc/nixos/configuration.nix faylini qoʻlda tahrirlab, keyin oʻzgartirilgan konfiguratsiyani qoʻllash uchun sudo nixos-rebuild switch buyruğini bajarish kerak. Ushbu buyruq oʻzgartirilgan konfiguratsiya asosida yangi tizim muhitini yaratadi, yangi muhitni standart holat sifatida oʻrnatadi va eski muhitni grub/systemd-boot yuklash variantlarida saqlab qoladi. Bu orqali yangi muhit ishga tushmasa ham, avvalgi muhitga qaytish imkonini beradi.

/etc/nixos/configuration.nix NixOS sozlashning klassik usuli boʻlib, u nix-channel orqali sozlangan ma'lumot manbalariga bogʻlanadi va versiyalarni qulflash mexanizmiga ega emas. Bu esa tizimning qayta ishlab chiqaruvchanligini ta'minlashni qiyinlashtiradi. Shuning uchun Flakes foydalanish yaxshiroq usul boʻlib, tizim qayta ishlab chiqaruvchanligini oshiradi va konfiguratsiyani boshqarishni osonlashtiradi.

Ushbu boʻlimda, avval /etc/nixos/configuration.nix orqali NixOSʼni boshqarishni oʻrganamiz, keyin esa Flakes orqali rivojlangan usullarni koʻrib chiqamiz.

/etc/nixos/configuration.nix yordamida tizimni sozlash

/etc/nixos/configuration.nix fayli NixOS tizimini sozlash uchun standart va klassik usuldir. U Flakesʼning rivojlangan xususiyatlariga ega boʻlmasa-da, hali ham keng foydalaniladi va tizim konfiguratsiyasida moslashuvchanlikni ta'minlaydi.

Misol sifatida SSHʼni yoqish va tizimga ryan nomli foydalanuvchi qoʻshishni koʻrib chiqamiz. Buni /etc/nixos/configuration.nix fayliga quyidagi tarkibni qoʻshish orqali amalga oshirish mumkin:

# Ushbu konfiguratsiya faylini tizimingizga kerak boʻlgan narsalarni oʻrnatish uchun tahrirlang.
# Yordam uchun configuration.nix(5) man sahifasi yoki ‘nixos-help’ orqali NixOS qoʻllanmasiga murojaat qiling.
{ config, pkgs, ... }:
 
{
  imports =
    [ # Qurilma skanlash natijalarini qoʻshing.
      ./hardware-configuration.nix
    ];
 
  # Oldingi konfiguratsiya sozlamalarini oʻtkazib yuboramiz...
 
  # 'ryan' foydalanuvchisini qoʻshish
  users.users.ryan = {
    isNormalUser = true;
    description = "ryan";
    extraGroups = [ "networkmanager" "wheel" ];
    openssh.authorizedKeys.keys = [
        # Oʻzingizning SSH ochiq kalitingizni qoʻying
        "ssh-ed25519 <some-public-key> ryan@ryan-pc"
    ];
    packages = with pkgs; [
      firefox
    #  thunderbird
    ];
  };
 
  # OpenSSH xizmatini yoqish
  services.openssh = {
    enable = true;
    settings = {
      X11Forwarding = true;
      PermitRootLogin = "no"; # root login oʻchirilsin
      PasswordAuthentication = false; # parol orqali login oʻchirilsin
    };
    openFirewall = true;
  };
 
  # Konfiguratsiyaning qolgan qismini oʻtkazib yuboramiz...
}

Ushbu konfiguratsiyada openssh xizmatini yoqish, 'ryan' foydalanuvchisiga SSH ochiq kalitini qoʻshish va parol orqali kirishni oʻchirish niyatimizni eʼlon qilamiz.

Oʻzgartirilgan konfiguratsiyani joylashtirish uchun sudo nixos-rebuild switch buyruğini bajaring. Ushbu buyruq oʻzgarishlarni qoʻllaydi, yangi tizim muhitini yaratadi va uni standart holat sifatida oʻrnatadi. Endi SSH orqali sozlangan kalitlar bilan tizimga kirishingiz mumkin.

Oʻrnatish paytida xatolar bilan duch kelsangiz, batafsil xato xabarini olish uchun nixos-rebuild buyruğıga --show-trace --print-build-logs --verbose parametrlarini qoʻshishingiz mumkin.

Tizimda har qanday qayta takrorlanuvchi oʻzgarishlarni /etc/nixos/configuration.nix faylini tahrirlab, sudo nixos-rebuild switch orqali qoʻllash mumkin.

Konfiguratsiya imkoniyatlari va hujjatlarni topish uchun:

Manbalar