NixOS jako desktop

From NixOS Wiki
Revision as of 17:02, 24 November 2024 by Alxhr0 (talk | contribs)

NixOS can be used for many purposes. If you want to use it as a primary desktop operating system for your daily use (either on bare metal or as a secondary VM), this page is for you. Even if your ambitions are to use NixOS in the cloud or on specially configured servers, you may want to start with the lessons outlined here in order to get more generally familiar with the Nix ecosystem.

Instalacja

Metoda Wiki

Jeśli wolisz czytać, zobacz NixOS Installation Guide, aby rozpocząć. Dobrze prezentowana opcja wideo znajduje się w sekcji przewodnika wideo bezpośrednio poniżej. Należy pamiętać, że w przypadku instalacji stacjonarnej prawdopodobnie będziesz chciał upewnić się, że zaczniesz od co najmniej 30 GiB dostępnej przestrzeni dysku, aby umożliwić środowiska graficzne (np. GNOME, KDE lub XFCE), przeglądarki (np. Firefox), oraz inne aplikacje graficzne (np. VSCode), które byłyby typowe dla codziennego użycia. 15 GiB może wystarczyć na bardzo lekki system.

Instrukcja wideo

Po przewodnik wizualny zobacz Wil T Nix Guides. second video to instrukcja instalacji. Ta 8-częściowa seria, wyprodukowana na początku 2021 r., Obejmuje również wszystkie podstawy używania NixOS jako systemu stacjonarnego i konfigurowania go według własnych upodobań.

Zarządzanie konfiguracją

Możliwe jest zarządzanie całą konfiguracją przy użyciu metod udokumentowanych w NixOS official manual. Jednak większość członków społeczności, którzy używają NixOS na pulpicie, woli zarządzać swoimi konfiguracjami użytkownika (np. „dotfiles”) przy użyciu Home manager (potrzebne cytowanie). Home Manager to narzędzie dla użytkownika do deklarowania tego, co chcesz i jak chcesz to skonfigurować, a zatem byłby używany zamiast większości ustawień, które w innym przypadku umieściłbyś w configuration.nix lub przez nix-env

Instrukcja wideo

Przewodniki Wil T to równa mieszanka:

  1. Praktyczne bootstraphowanie, aby móc bardzo pojemne zarządzać systemem za pomocą Home Manager, wersji git i ostatecznie Flakes.
  2. Przegląd koncepcji i ogólna ekspozycja ekosystemu Nix, społeczności i dostępnych zasobów.

drugi film zaczynając od około 27 minut, jest również wprowadzeniem do konfiguracji konfiguracji Home Manager

Modularizing your configuration

With NixOS Modules

configuration.nix is an instance of a NixOS module, which makes it easy to break your configuration into several files. Modules can:

  • Import other modules
  • Declare new options
  • Provide values for options (this is what most of your default configuration.nix does)
  • Reference option values from other modules (via the config attribute passed to all modules)

As long as you declare options for any values you want to share between modules, you can divide your configuration however you like into files that get imported, directly or transitively, by your root configuration.nix file. You can also import modules from remote sources, using functions like builtins.fetchTarball. See the wiki page or the NixOS manual for more information.

With Flakes

If you want a more composable[citation needed] NixOS configuration setup, the still-experimental Flakes feature is causing a lot of excitement in the community. Managing flakes requires a good basic understanding and some existing hands on experience with the Nix ecosystem.

Video guide

Videos seven and eight of Wil T's original 8-part series are a good overview of what Flakes enable and how to get started with them.

Beyond initial setup

After you are familiar with the Nix ecosystem and have a functional desktop install of NixOS, you will likely be interested in customizations and more detailed setup.

Learn by example

If you are comfortable managing your system through a git repo using flakes, then there are many repositories you can learn from now!

Check out Comparison of NixOS setups for a table comparing some popular choices.

See Configuration Collection for a long list within the wiki.

Additionally, the following topic searches on Github should uncover many useful examples.