Jump to content

NixOS as a desktop/pt: Difference between revisions

From NixOS Wiki
Cybergui (talk | contribs)
Created page with "== Gerenciando sua configuração =="
Cybergui (talk | contribs)
No edit summary
 
(20 intermediate revisions by the same user not shown)
Line 18: Line 18:
== Gerenciando sua configuração ==
== Gerenciando sua configuração ==


<div lang="en" dir="ltr" class="mw-content-ltr">
É possível gerenciar toda a sua configuração usando os métodos documentados no [https://nixos.org/manual/nixos/stable/index.html NixOS official manual]. No entanto, a maioria dos membros da comunidade que usam o NixOS no desktop preferem gerenciar suas configurações de usuário usando (e.g. "dotfiles") [[Home Manager]] (citação necessária). O Home Manager é uma ferramenta orientada ao usuário para declarar o que você deseja instalar e como deseja configurá-lo e, portanto, seria usado no lugar da maioria das configurações que você normalmente colocaria em um [https://nixos.org/manual/nixos/stable/#sec-changing-config configuration.nix] ou através [[FAQ#How_can_I_manage_software_with_nix-env_like_with_configuration.nix.3F|nix-env]]
It is possible to manage your entire configuration using the methods documented in the [https://nixos.org/manual/nixos/stable/index.html NixOS official manual]. However, most community members who use NixOS on the desktop prefer to manage their user configurations (e.g. "dotfiles") using [[Home Manager]] (citation needed). Home Manager is a user oriented tool for declaring what you want installed and how you want it configured, and thus would be used in lieu of most settings you would otherwise put into a [https://nixos.org/manual/nixos/stable/#sec-changing-config configuration.nix] or through [[FAQ#How_can_I_manage_software_with_nix-env_like_with_configuration.nix.3F|nix-env]]
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Video_guide"></span>
=== Video guide ===
=== Guia em Video ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Os guias de Wil T são uma mistura equilibrada de:
Wil T's guides are about an even mix of:
# Bootstrapping prático para se tornar capaz de gerenciar seu sistema com muita competência usando o Home Manager, controle de versão do Git e, eventualmente, o Flakes.
# Hands-on bootstrapping to get to being able to very capably manage your system using Home Manager, git versioning, and eventually Flakes.
# Visões gerais conceituais e exposição geral do ecossistema Nix, da comunidade e dos recursos disponíveis.
# Conceptual overviews and general exposition of the Nix ecosystem, community, and available resources.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
O [[Wil_T_Nix_Guides#NixOS_Installation_Guide|segundo video]], começando a partir de 27 minutos, também é uma introdução e um guia para configurar o Home Manager.
The [[Wil_T_Nix_Guides#NixOS_Installation_Guide|second video]], starting from about 27 minutes in, is also an introduction to and guide to setting up Home Manager.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Modularizing_your_configuration"></span>
== Modularizing your configuration ==
== Gerenciando sua configuração ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="With_NixOS_Modules"></span>
=== With NixOS Modules ===
=== Com os Modulos NixOS ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
configuration.nix é uma instancia do [[NixOS modules|NixOS module]], que facilita a divisão da sua configuração em vários arquivos. Os módulos podem:
configuration.nix is an instance of a [[NixOS modules|NixOS module]], which makes it easy to break your configuration into several files. Modules can:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Importar outros módulos
* Import other modules
* Declarar novas opções
* Declare new options
* Fornecer valores para as opções (é o que a maior parte do seu configuration.nix padrão faz)
* Provide values for options (this is what most of your default configuration.nix does)
* Referenciar valores de opções de outros módulos (via the <code>config</code> attribute passed to all modules)
* Reference option values from other modules (via the <code>config</code> attribute passed to all modules)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Desde que você declare opções para quaisquer valores que queira compartilhar entre os módulos, você pode dividir sua configuração como quiser em arquivos que são importados, direta ou transitivamente, pelo seu arquivo root configuration.nix. Você também pode importar módulos de fontes remotas, usando funções como <code>builtins.fetchTarball</code>. Veja o [[NixOS modules|wiki page]] ou o [https://nixos.org/manual/nixos/stable/#sec-writing-modules NixOS manual] para mais informações
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 <code>builtins.fetchTarball</code>. See the [[NixOS modules|wiki page]] or the [https://nixos.org/manual/nixos/stable/#sec-writing-modules NixOS manual] for more information.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="With_Flakes"></span>
=== With Flakes ===
=== Com Flakes ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Se você quer uma composição de Configuração do NixOS, ainda experimental [[Flakes]] está causando muita excitação na comunidade. Gerenciar flocos requer um bom entendimento básico e alguma experiência prática com o ecossistema Nix.
If you want a more composable<sup>[citation needed]</sup> 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.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Video_guide"></span>
==== Video guide ====
=== Guia em Video ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Videos [[Wil_T_Nix_Guides#Intro_to_Flakes|seven]] e [[Wil_T_Nix_Guides#Moving_NixOS_System_Configuration_into_a_Flake|eight]] da série original de 8 partes de Wil T é uma boa visão geral do que os Flakes permitem e como começar a usá-los.
Videos [[Wil_T_Nix_Guides#Intro_to_Flakes|seven]] and [[Wil_T_Nix_Guides#Moving_NixOS_System_Configuration_into_a_Flake|eight]] of Wil T's original 8-part series are a good overview of what Flakes enable and how to get started with them.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Beyond_initial_setup"></span>
== Beyond initial setup ==
== Além da configuração inicial ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Depois de se familiarizar com o ecossistema Nix e ter uma instalação funcional do NixOS para desktop, você provavelmente se interessará por personalizações e configurações mais detalhadas.
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.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Learn_by_example"></span>
=== Learn by example ===
=== Aprenda com exemplos ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Se você se sente confortável gerenciando seu sistema por meio de um repositório git usando flakes, há muitos repositórios com os quais você pode aprender agora!  
If you are comfortable managing your system through a git repo using flakes, then there are many repositories you can learn from now!
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Confira [[Comparison of NixOS setups]] para uma tabela comparando algumas opções populares.
Check out [[Comparison of NixOS setups]] for a table comparing some popular choices.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Veja [[Configuration Collection]] para uma longa lista dentro do wiki.
See [[Configuration Collection]] for a long list within the wiki.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Além disso, as seguintes pesquisas de tópicos no Github devem revelar muitos exemplos úteis.
Additionally, the following topic searches on Github should uncover many useful examples.
  * nix-flake
* [https://github.com/topics/nix-flake nix-flake]
  * nixos-configuration
* [https://github.com/topics/nixos-configuration nixos-configuration]
  * nixos-dotfiles
* [https://github.com/topics/nixos-dotfiles nixos-dotfiles]
</div>


[[Category:Desktop]]
[[Category:Desktop]]
[[Category:Guide]]
[[Category:Guide]]

Latest revision as of 21:15, 30 June 2025

O NixOS pode ser usado para diversas finalidades. Se você deseja usá-lo como sistema operacional de desktop principal para seu uso diário. Esta página é para você. Mesmo que sua ambição seja usar o NixOS na nuvem ou em servidores especialmente configurados, você pode começar com as lições descritas aqui para se familiarizar mais amplamente com o ecossistema Nix.

Instalação

Metodo Wiki

Se preferir ler, veja NixOS Installation Guide Para começar. Para uma opção de vídeo bem apresentada, veja a seção de guia de vídeo logo abaixo. Lembre-se de que, para uma instalação em desktop, você provavelmente precisará começar com pelo menos 30 GiB de espaço em disco disponível para os ambientes de desktop (por exemplo, GNOME, KDE ou XFCE), navegadores (por exemplo, Firefox) e outros aplicativos gráficos (por exemplo, VSCode) que seriam típicos de uso diário. 15 GiB podem ser suficientes para uma configuração bastante básica.

Guia em Video

Para um guia visual (video), veja Wil T Nix Guides. O second video é um guia de instalação conciso. Esta série de 8 partes, produzida no início de 2021, também aborda todos os conceitos básicos de uso do NixOS como desktop e como configurá-lo conforme sua preferência.

Gerenciando sua configuração

É possível gerenciar toda a sua configuração usando os métodos documentados no NixOS official manual. No entanto, a maioria dos membros da comunidade que usam o NixOS no desktop preferem gerenciar suas configurações de usuário usando (e.g. "dotfiles") Home Manager (citação necessária). O Home Manager é uma ferramenta orientada ao usuário para declarar o que você deseja instalar e como deseja configurá-lo e, portanto, seria usado no lugar da maioria das configurações que você normalmente colocaria em um configuration.nix ou através nix-env

Guia em Video

Os guias de Wil T são uma mistura equilibrada de:

  1. Bootstrapping prático para se tornar capaz de gerenciar seu sistema com muita competência usando o Home Manager, controle de versão do Git e, eventualmente, o Flakes.
  2. Visões gerais conceituais e exposição geral do ecossistema Nix, da comunidade e dos recursos disponíveis.

O segundo video, começando a partir de 27 minutos, também é uma introdução e um guia para configurar o Home Manager.

Gerenciando sua configuração

Com os Modulos NixOS

configuration.nix é uma instancia do NixOS module, que facilita a divisão da sua configuração em vários arquivos. Os módulos podem:

  • Importar outros módulos
  • Declarar novas opções
  • Fornecer valores para as opções (é o que a maior parte do seu configuration.nix padrão faz)
  • Referenciar valores de opções de outros módulos (via the config attribute passed to all modules)

Desde que você declare opções para quaisquer valores que queira compartilhar entre os módulos, você pode dividir sua configuração como quiser em arquivos que são importados, direta ou transitivamente, pelo seu arquivo root configuration.nix. Você também pode importar módulos de fontes remotas, usando funções como builtins.fetchTarball. Veja o wiki page ou o NixOS manual para mais informações

Com Flakes

Se você quer uma composição de Configuração do NixOS, ainda experimental Flakes está causando muita excitação na comunidade. Gerenciar flocos requer um bom entendimento básico e alguma experiência prática com o ecossistema Nix.

Guia em Video

Videos seven e eight da série original de 8 partes de Wil T é uma boa visão geral do que os Flakes permitem e como começar a usá-los.

Além da configuração inicial

Depois de se familiarizar com o ecossistema Nix e ter uma instalação funcional do NixOS para desktop, você provavelmente se interessará por personalizações e configurações mais detalhadas.

Aprenda com exemplos

Se você se sente confortável gerenciando seu sistema por meio de um repositório git usando flakes, há muitos repositórios com os quais você pode aprender agora!

Confira Comparison of NixOS setups para uma tabela comparando algumas opções populares.

Veja Configuration Collection para uma longa lista dentro do wiki.

Além disso, as seguintes pesquisas de tópicos no Github devem revelar muitos exemplos úteis.

 *  nix-flake
 *  nixos-configuration
 *  nixos-dotfiles