Uživatelské nástroje

Nástroje pro tento web


navody:distribuce:nixos

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
navody:distribuce:nixos [2018/10/27 10:29] – use vpsAdminOS template, mark openvz template as unsupported rmarkonavody:distribuce:nixos [2026/08/10 17:49] (aktuální) panika
Řádek 1: Řádek 1:
-===== NixOS =====+<page>manuals:distributions:nixos</page> 
 +====== NixOS =====
 +[[https://nixos.org|NixOS]] je distribuce založená na balíčkovacím systému Nix. 
 +Konfigurace systému a všech služeb se provádí deklarativně. Tato stránka popisuje 
 +použití NixOS na vpsFree.cz VPS. Pro více informací o NixOS obecně viz 
 +[[https://nixos.org/learn.html|dokumentace]].
  
-NixOS allows declarative configuration management of the whole system and deployed services.+===== Podporované verze ===== 
 +Poskytujeme šablony VPS pro stabilní vydání NixOS a průběžně pro NixOS unstable.
  
-To start using NixOS choose **[vpsAdminOS] NixOS** template+Sami NixOS používáme na naší 
 +[[https://github.com/vpsfreecz/vpsfree-cz-configuration|infrastruktuře]]. 
 +Naše virtualizační platforma [[navody:vps:vpsadminos|vpsAdminOS]] je dokonce 
 +na NixOS a nixpkgs založená.
  
-If you have set your public SSH keys in vpsAdmin the key will be automatically deployed and you can login as root right awayTo be able to login with a password you need to set the password manually after your container is created.+===== Prvotní konfigurace ===== 
 +VPS je vytvořeno ze šablony, která obsahuje minimální systém a SSH. 
 +Pro přihlášení je možné použít [[navody:vps:sprava#heslo_roota|vygenerované heslo]], 
 +nebo si nechat [[navody:vps:sprava#automaticke_vlozeni_klicu|nahrát veřejný klíč]] přes 
 +vpsAdminSystém lze pak spravovat pomocí ''nixos-rebuild'':
  
-==== Configuration ====+<code> 
 +nixos-rebuild switch --flake /etc/nixos#vps 
 +</code>
  
-Configuration is available at <code>/etc/nixos/configuration.nix</code>+Naše VPS jsou linuxové kontejnery, není zde zavaděč, jádro je sdílené a je potřeba 
 +určité nastavení pro správnou funkci NixOS. V šabloně je proto vpsAdminOS jako flake input a potřebný 
 +modul je importován do konfigurace systému.
  
-This can be altered to change container configuration on the fly or for next reboot. Try changing container hostname and running <code>nixos-rebuild switch</code> to build new configuration and directly switch to it. To switch to new configuration after reboot (set as default boot profile) use <code>nixos-rebuild boot</code>+Při vytvoření VPS reinstalaci systému je možné do VPS přes vpsAdmin nahrát a nasadit vlastní 
 +konfiguraci, viz [[navody:vps:userdata|user data]].
  
-If you are using channels you can update your system by running <code>nixos-rebuild switch --upgrade</code>+===== Správa VPS ===== 
 +Přejdi na [[:domu|návody VPS]] pro více informací o naší infrastruktuře a možnostech VPS.
  
-==== Package installation ====+===== Impermanence ===== 
 +Viz [[navody:distribuce:nixos:impermanence]].
  
-Packages can be installed system wide via configuration.nix or for local profile via <code>nix-env</code>+===== GitHub API limit ===== 
 +Nixpkgs se stahují z [[https://github.com/nixos/nixpkgs|GitHubu]] a [[https://nixos.wiki/wiki/Binary_Cache|Binary Cache]]. GitHub nepodporuje IPv6 a má limity buď [[https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2026-03-10#primary-rate-limit-for-unauthenticated-users|per IPv4]] nebo [[https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2026-03-10#primary-rate-limit-for-authenticated-users|per uživatel]]. 
 +Při vyčerpání Nix (respektive GitHub API) zahlásí: 
 +<code> 
 +error: unable to download 'GITHUB_URL': HTTP error 403 ('')
  
-To install vim use <code>nix-env -iA nixos.vim</code>+       response body:
  
-To search for a package use <code>nix-env -qaP postgre</code> +       {"message":"API rate limit exceeded for IP_ADDR(But here's the good newsAuthenticated requests get a higher rate limitCheck out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}
- +
-==== Manual ==== +
- +
-Consult NixOS manual for more https://nixos.org/nixos/manual/ +
- +
- +
-===== Legacy OpenVZ templates ===== +
- +
-<note important>Due to compatibility issues with OpenVZ it is no longer recommended to use the old infrastructure for new deployments.</note> +
- +
-==== Common issues ==== +
- +
-=== SSH public key deployment fails === +
- +
-This can occur on first boot of the template when there'no ''/root'' yet. Disable automatic key deployment and deploy key manually **after** the containers boot. +
- +
-=== errorwhile setting up the build environment: unable to load seccomp BPF program: Invalid argument === +
- +
-Nix ≥ 1.11.10 requires seccomp, which is not available on vpsFree. To fix this, pin Nix to 1.11.9 by adding the following option to ''configuration.nix'' and rebuilding the system: +
- +
-<code> +
-    nix.package = (import (pkgs.fetchFromGitHub { +
- owner = "NixOS"+
- repo = "nixpkgs"+
- rev = "300fa462b31ad2106d37fcdb4b504ec60dfd62aa"; +
- sha256 = "1cbjmi34ll5xa2nafz0jlsciivj62mq78qr3zl4skgdk6scl328s"; +
-    }) {}).nix;+
 </code> </code>
- +Řešením je [[https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token|vyrobit si personal access token]] (Public repositories, v Permissions není potřeba nic) a [[https://search.nixos.org/options?channel=26.05&query=nix.settings&type=options#show=option%253Anix.settings|předat konfiguraci]] Nixu:
-In the future, it will be possible to [[https://github.com/NixOS/nix/commit/1dd29d7aebae706f3e90a18bbfae727f2ed03c70|disable seccomp usage]]. +
- +
-=== systemd 233+ compatibility issues === +
- +
-Causes boot failures, workaround is pinning systemd to version 232:+
 <code> <code>
-    nixpkgs.config.packageOverrides = super:  +# configuration.nix 
- let systemdGperfCompat = super.systemd.override { gperf = super.gperf_3_0; }; +nix.settings.access-tokens "github.com=github_pat_TokenTokenChangeMe];
- in { +
-          systemd = systemdGperfCompat.overrideAttrs ( oldAttrs: rec { +
-            version = "232"; +
-            name = "systemd-${version}"; +
-            src = pkgs.fetchFromGitHub { +
-              owner = "nixos"; +
-              repo = "systemd"; +
-              rev = "66e778e851440fde7f20cff0c24d23538144be8d"; +
-              sha256 = "1valz8v2q4cj0ipz2b6mh5p0rjxpy3m88gg9xa2rcc4gcmscndzk"; +
-            }; +
-          }); +
-    };+
 </code> </code>
  
-==== Details ==== 
- 
-Log contents 
-<code> 
-Failed to canonicalize path /etc/systemd/system/local-fs.target.d: Too many levels of symbolic links 
- 
-$ journalctl -o verbose 
-    _EXE=/nix/store/n5ksbh1hx275zfbqbalhghzpxp1w73lf-systemd-234/lib/systemd/systemd 
-    _CMDLINE=/run/current-system/systemd/lib/systemd/systemd --system --deserialize 19 
-    CODE_FILE=src/shared/dropin.c 
-    CODE_LINE=133 
-    CODE_FUNC=unit_file_find_dir 
-    ERRNO=40 
-    MESSAGE=Failed to canonicalize path /etc/systemd/system/local-fs.target.d: Too many levels of symbolic links 
navody/distribuce/nixos.1540636196.txt.gz · Poslední úprava: autor: rmarko