Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Home
Ecosystem
Overview
NixOS
Package Manager
Nix Language
Nixpkgs
Hydra
Applications
Topics
Software
Hardware
Desktop
Server
Community
Learn NixOS
Overview
Guides
Tutorials
References
Cookbooks
Wiki
Contribute
Manual of Style
Recent changes
Random page
Official NixOS Wiki
Search
Search
English
Appearance
Create account
Log in
Personal tools
Create account
Log in
Export translations
Translate
English
Language statistics
Message group statistics
Export
Tools
Tools
move to sidebar
hide
Actions
Language statistics
Message group statistics
Export
General
Printable version
Appearance
move to sidebar
hide
Settings
Group
Accelerated Video Playback
Appimage
Applications
Chromium
Creating a NixOS live CD
Disko
Doas
Docker
FAQ
Firefox
Flakes
Fonts
Hardware/System76/galp5
HMCL
Honk
Hugo
Hydra
Install NixOS on Amazon EC2
Kitty
Konqueror
MediaWiki:Sidebar
Mihomo
Neovim
Niri
Nitrokey
Nix (language)
Nix (package manager)
Nix ecosystem
NixOS
NixOS as a desktop
NixOS Installation Guide
NixOS on ARM
NixOS on ARM/UEFI
NixOS Wiki
NixOS Wiki/documentation topics
NixOS Wiki/get in touch
NixOS Wiki/getting started
NixOS Wiki/news
NixOS Wiki/setting up
NixOS Wiki/special pages
NixOS Wiki/welcome
Nixpkgs
Official NixOS Wiki:News
Packaging/Icons
Plymouth
Secure Boot
Shell scripts
Smartmontools
Starship
Steam
Sudo
Systemd/Hardening
Systemd/logind
Systemd/timers
Systemd/User Services
Terms and Definitions in Nix Project
Updating NixOS
Vim
Visual Studio Code
VR
Zed
Language
aa - Qafár af
aae - Arbërisht
ab - аԥсшәа
abr - Abron
abs - bahasa ambon
ace - Acèh
acf - Kwéyòl Sent Lisi
acm - عراقي
ady - адыгабзэ
ady-cyrl - адыгабзэ
aeb - تونسي / Tûnsî
aeb-arab - تونسي
aeb-latn - Tûnsî
af - Afrikaans
aig - Aanteegan an' Baabyuudan
aln - Gegë
alt - алтай тил
am - አማርኛ
ami - Pangcah
an - aragonés
ang - Ænglisc
ann - Obolo
anp - अंगिका
apc - شامي
ar - العربية
arc - ܐܪܡܝܐ
arn - mapudungun
arq - جازايرية
ary - الدارجة
arz - مصرى
as - অসমীয়া
ase - American sign language
ast - asturianu
atj - Atikamekw
av - авар
avk - Kotava
awa - अवधी
ay - Aymar aru
az - azərbaycanca
azb - تۆرکجه
ba - башҡортса
ban - Basa Bali
ban-bali - ᬩᬲᬩᬮᬶ
bar - Boarisch
bbc - Batak Toba
bbc-latn - Batak Toba
bcc - جهلسری بلوچی
bci - wawle
bcl - Bikol Central
bdr - Bajau Sama
be - беларуская
be-tarask - беларуская (тарашкевіца)
bew - Betawi
bg - български
bgc - हरियाणवी
bgn - روچ کپتین بلوچی
bh - भोजपुरी
bho - भोजपुरी
bi - Bislama
bjn - Banjar
blk - ပအိုဝ်ႏဘာႏသာႏ
bm - bamanankan
bn - বাংলা
bo - བོད་ཡིག
bpy - বিষ্ণুপ্রিয়া মণিপুরী
bqi - بختیاری
br - brezhoneg
brh - Bráhuí
bs - bosanski
btm - Batak Mandailing
bto - Iriga Bicolano
bug - Basa Ugi
bug-bugi - ᨅᨔ ᨕᨘᨁᨗ
bxr - буряад
ca - català
cbk-zam - Chavacano de Zamboanga
ccp - 𑄌𑄋𑄴𑄟𑄳𑄦
cdo - 閩東語 / Mìng-dĕ̤ng-ngṳ̄
cdo-hant - 閩東語(傳統漢字)
cdo-latn - Mìng-dĕ̤ng-ngṳ̄ (Bàng-uâ-cê)
ce - нохчийн
ceb - Cebuano
ch - Chamoru
chn - chinuk wawa
cho - Chahta anumpa
chr - ᏣᎳᎩ
chy - Tsetsêhestâhese
ckb - کوردی
co - corsu
cop - ϯⲙⲉⲧⲣⲉⲙⲛ̀ⲭⲏⲙⲓ
cps - Capiceño
cpx - 莆仙語 / Pó-sing-gṳ̂
cpx-hans - 莆仙语(简体)
cpx-hant - 莆仙語(繁體)
cpx-latn - Pó-sing-gṳ̂ (Báⁿ-uā-ci̍)
cr - Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ
crh - qırımtatarca
crh-cyrl - къырымтатарджа (Кирилл)
crh-latn - qırımtatarca (Latin)
crh-ro - tatarşa
cs - čeština
csb - kaszëbsczi
cu - словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ
cv - чӑвашла
cy - Cymraeg
da - dansk
dag - dagbanli
de - Deutsch
de-at - Österreichisches Deutsch
de-ch - Schweizer Hochdeutsch
de-formal - Deutsch (Sie-Form)
dga - Dagaare
din - Thuɔŋjäŋ
diq - Zazaki
dlg - долган тыла
dsb - dolnoserbski
dtp - Kadazandusun
dty - डोटेली
dua - Duálá
dv - ދިވެހިބަސް
dz - ཇོང་ཁ
ee - eʋegbe
efi - Efịk
egl - Emiliàn
el - Ελληνικά
eml - emiliàn e rumagnòl
en - English
en-ca - Canadian English
en-gb - British English
eo - Esperanto
es - español
es-419 - español de América Latina
es-formal - español (formal)
et - eesti
eu - euskara
ext - estremeñu
fa - فارسی
fat - mfantse
ff - Fulfulde
fi - suomi
fit - meänkieli
fj - Na Vosa Vakaviti
fo - føroyskt
fon - fɔ̀ngbè
fr - français
frc - français cadien
frp - arpetan
frr - Nordfriisk
fur - furlan
fvr - poor’íŋ belé’ŋ
fy - Frysk
ga - Gaeilge
gaa - Ga
gag - Gagauz
gan - 贛語
gan-hans - 赣语(简体)
gan-hant - 贛語(繁體)
gcf - kréyòl Gwadloup
gcr - kriyòl gwiyannen
gd - Gàidhlig
gl - galego
gld - на̄ни
glk - گیلکی
gn - Avañe'ẽ
gom - गोंयची कोंकणी / Gõychi Konknni
gom-deva - गोंयची कोंकणी
gom-latn - Gõychi Konknni
gor - Bahasa Hulontalo
got - 𐌲𐌿𐍄𐌹𐍃𐌺
gpe - Ghanaian Pidgin
grc - Ἀρχαία ἑλληνικὴ
gsw - Alemannisch
gu - ગુજરાતી
guc - wayuunaiki
gur - farefare
guw - gungbe
gv - Gaelg
ha - Hausa
hak - 客家語 / Hak-kâ-ngî
hak-hans - 客家语(简体)
hak-hant - 客家語(繁體)
hak-latn - Hak-kâ-ngî (Pha̍k-fa-sṳ)
haw - Hawaiʻi
he - עברית
hi - हिन्दी
hif - Fiji Hindi
hif-latn - Fiji Hindi
hil - Ilonggo
hke - kihunde
hno - ہندکو
ho - Hiri Motu
hoc-latn - Ho
hr - hrvatski
hrx - Hunsrik
hsb - hornjoserbsce
hsn - 湘語
ht - Kreyòl ayisyen
hu - magyar
hu-formal - magyar (formal)
hy - հայերեն
hyw - Արեւմտահայերէն
hz - Otsiherero
ia - interlingua
iba - Jaku Iban
ibb - ibibio
id - Bahasa Indonesia
ie - Interlingue
ig - Igbo
igl - Igala
ii - ꆇꉙ
ik - Iñupiatun
ike-cans - ᐃᓄᒃᑎᑐᑦ
ike-latn - inuktitut
ilo - Ilokano
inh - гӀалгӀай
io - Ido
is - íslenska
isv-cyrl - меджусловјанскы
isv-latn - medžuslovjansky
it - italiano
iu - ᐃᓄᒃᑎᑐᑦ / inuktitut
ja - 日本語
jam - Patois
jbo - la .lojban.
jut - jysk
jv - Jawa
ka - ქართული
kaa - Qaraqalpaqsha
kab - Taqbaylit
kai - Karai-karai
kaj - Jju
kbd - адыгэбзэ
kbd-cyrl - адыгэбзэ
kbp - Kabɩyɛ
kcg - Tyap
kea - kabuverdianu
kg - Kongo
kge - Kumoring
khw - کھوار
ki - Gĩkũyũ
kiu - Kırmancki
kj - Kwanyama
kjh - хакас
kjp - ဖၠုံလိက်
kk - қазақша
kk-arab - قازاقشا (تٴوتە)
kk-cn - قازاقشا (جۇنگو)
kk-cyrl - қазақша (кирил)
kk-kz - қазақша (Қазақстан)
kk-latn - qazaqşa (latın)
kk-tr - qazaqşa (Türkïya)
kl - kalaallisut
km - ភាសាខ្មែរ
kn - ಕನ್ನಡ
knc - Yerwa Kanuri
ko - 한국어
ko-kp - 조선말
koi - перем коми
kr - kanuri
krc - къарачай-малкъар
kri - Krio
krj - Kinaray-a
krl - karjal
ks - کٲشُر
ks-arab - کٲشُر
ks-deva - कॉशुर
ksh - Ripoarisch
ksw - စှီၤ
ku - kurdî
ku-arab - کوردی (عەرەبی)
ku-latn - kurdî (latînî)
kum - къумукъ
kus - Kʋsaal
kv - коми
kw - kernowek
ky - кыргызча
la - Latina
lad - Ladino
lb - Lëtzebuergesch
lbe - лакку
lez - лезги
lfn - Lingua Franca Nova
lg - Luganda
li - Limburgs
lij - Ligure
liv - Līvõ kēļ
ljp - Lampung Api
lki - لەکی
lld - Ladin
lmo - lombard
ln - lingála
lo - ລາວ
loz - Silozi
lrc - لۊری شومالی
lt - lietuvių
ltg - latgaļu
lua - ciluba
lus - Mizo ţawng
luz - لئری دوٙمینی
lv - latviešu
lzh - 文言
lzz - Lazuri
mad - Madhurâ
mag - मगही
mai - मैथिली
map-bms - Basa Banyumasan
mdf - мокшень
mg - Malagasy
mh - Ebon
mhr - олык марий
mi - Māori
min - Minangkabau
mk - македонски
ml - മലയാളം
mn - монгол
mnc - manju gisun
mnc-latn - manju gisun
mnc-mong - ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ
mni - ꯃꯤꯇꯩ ꯂꯣꯟ
mnw - ဘာသာမန်
mo - молдовеняскэ
mos - moore
mr - मराठी
mrh - Mara
mrj - кырык мары
ms - Bahasa Melayu
ms-arab - بهاس ملايو
mt - Malti
mui - Baso Palembang
mus - Mvskoke
mwl - Mirandés
my - မြန်မာဘာသာ
myv - эрзянь
mzn - مازِرونی
na - Dorerin Naoero
nah - Nāhuatl
nan - 閩南語 / Bân-lâm-gí
nan-hant - 閩南語(傳統漢字)
nan-latn-pehoeji - Bân-lâm-gí (Pe̍h-ōe-jī)
nan-latn-tailo - Bân-lâm-gí (Tâi-lô)
nap - Napulitano
nb - norsk bokmål
nds - Plattdüütsch
nds-nl - Nedersaksies
ne - नेपाली
new - नेपाल भाषा
ng - Oshiwambo
nia - Li Niha
nit - కొలామి
niu - Niuē
nl - Nederlands
nl-informal - Nederlands (informeel)
nmz - nawdm
nn - norsk nynorsk
no - norsk
nod - ᨣᩤᩴᨾᩮᩬᩥᨦ
nog - ногайша
nov - Novial
nqo - ߒߞߏ
nr - isiNdebele seSewula
nrm - Nouormand
nso - Sesotho sa Leboa
nup - Nupe
nv - Diné bizaad
ny - Chi-Chewa
nyn - runyankore
nyo - Orunyoro
nys - Nyunga
oc - occitan
ojb - Ojibwemowin
olo - livvinkarjala
om - Oromoo
or - ଓଡ଼ିଆ
os - ирон
pa - ਪੰਜਾਬੀ
pag - Pangasinan
pam - Kapampangan
pap - Papiamentu
pap-aw - Papiamento (Aruba)
pcd - Picard
pcm - Naijá
pdc - Deitsch
pdt - Plautdietsch
pfl - Pälzisch
pi - पालि
pih - Norfuk / Pitkern
pl - polski
pms - Piemontèis
pnb - پنجابی
pnt - Ποντιακά
prg - prūsiskan
ps - پښتو
pt - português
pt-br - português do Brasil
pwn - pinayuanan
qu - Runa Simi
qug - Runa shimi
rgn - Rumagnôl
rif - Tarifit
rki - ရခိုင်
rm - rumantsch
rmc - romaňi čhib
rmy - romani čhib
rn - ikirundi
ro - română
roa-tara - tarandíne
rsk - руски
ru - русский
rue - русиньскый
rup - armãneashti
ruq - Vlăheşte
ruq-cyrl - Влахесте
ruq-latn - Vlăheşte
rut - мыхаӀбишды
rw - Ikinyarwanda
ryu - うちなーぐち
sa - संस्कृतम्
sah - саха тыла
sas - Sasak
sat - ᱥᱟᱱᱛᱟᱲᱤ
sc - sardu
scn - sicilianu
sco - Scots
sd - سنڌي
sdc - Sassaresu
sdh - کوردی خوارگ
se - davvisámegiella
se-fi - davvisámegiella (Suoma bealde)
se-no - davvisámegiella (Norgga bealde)
se-se - davvisámegiella (Ruoŧa bealde)
sei - Cmique Itom
ses - Koyraboro Senni
sg - Sängö
sgs - žemaitėška
sh - srpskohrvatski / српскохрватски
sh-cyrl - српскохрватски (ћирилица)
sh-latn - srpskohrvatski (latinica)
shi - Taclḥit
shi-latn - Taclḥit
shi-tfng - ⵜⴰⵛⵍⵃⵉⵜ
shn - တႆး
shy - tacawit
shy-latn - tacawit
si - සිංහල
simple - Simple English
sjd - кӣллт са̄мь кӣлл
sje - bidumsámegiella
sk - slovenčina
skr - سرائیکی
skr-arab - سرائیکی
sl - slovenščina
sli - Schläsch
sm - Gagana Samoa
sma - åarjelsaemien
smn - anarâškielâ
sms - nuõrttsääʹmǩiõll
sn - chiShona
so - Soomaaliga
sq - shqip
sr - српски / srpski
sr-ec - српски (ћирилица)
sr-el - srpski (latinica)
srn - Sranantongo
sro - sardu campidanesu
ss - SiSwati
st - Sesotho
stq - Seeltersk
sty - себертатар
su - Sunda
sv - svenska
sw - Kiswahili
syl - ꠍꠤꠟꠐꠤ
szl - ślůnski
szy - Sakizaya
ta - தமிழ்
tay - Tayal
tcy - ತುಳು
tdd - ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
te - తెలుగు
tet - tetun
tg - тоҷикӣ
tg-cyrl - тоҷикӣ
tg-latn - tojikī
th - ไทย
ti - ትግርኛ
tig - ትግሬ
tk - Türkmençe
tl - Tagalog
tly - tolışi
tly-cyrl - толыши
tn - Setswana
to - lea faka-Tonga
tok - toki pona
tpi - Tok Pisin
tr - Türkçe
tru - Ṫuroyo
trv - Seediq
ts - Xitsonga
tt - татарча / tatarça
tt-cyrl - татарча
tt-latn - tatarça
ttj - Orutooro
tum - chiTumbuka
tw - Twi
ty - reo tahiti
tyv - тыва дыл
tzm - ⵜⴰⵎⴰⵣⵉⵖⵜ
udm - удмурт
ug - ئۇيغۇرچە / Uyghurche
ug-arab - ئۇيغۇرچە
ug-latn - Uyghurche
uk - українська
ur - اردو
uz - oʻzbekcha / ўзбекча
uz-cyrl - ўзбекча
uz-latn - oʻzbekcha
ve - Tshivenda
vec - vèneto
vep - vepsän kel’
vi - Tiếng Việt
vls - West-Vlams
vmf - Mainfränkisch
vmw - emakhuwa
vo - Volapük
vot - Vaďďa
vro - võro
wa - walon
wal - wolaytta
war - Winaray
wls - Fakaʻuvea
wlx - waale
wo - Wolof
wuu - 吴语
wuu-hans - 吴语(简体)
wuu-hant - 吳語(正體)
xal - хальмг
xh - isiXhosa
xmf - მარგალური
xsy - saisiyat
yi - ייִדיש
yo - Yorùbá
yrl - Nhẽẽgatú
yua - maaya t’aan
yue - 粵語
yue-hans - 粵语(简体)
yue-hant - 粵語(繁體)
za - Vahcuengh
zea - Zeêuws
zgh - ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ
zgh-latn - tamaziɣt tanawayt
zh - 中文
zh-cn - 中文(中国大陆)
zh-hans - 中文(简体)
zh-hant - 中文(繁體)
zh-hk - 中文(香港)
zh-mo - 中文(澳門)
zh-my - 中文(马来西亚)
zh-sg - 中文(新加坡)
zh-tw - 中文(臺灣)
zu - isiZulu
Format
Export for off-line translation
Export in native format
Export in CSV format
Fetch
{{DISPLAYTITLE:NixOS}}<languages/> {{Navbox Nix}} {{Expansion|reason=Debe ser una introducción sencilla, porque es uno de los primeros artículos que leen los nuevos usuarios aquí. Por eso debe simplificarse un poco y los temas más complejos deberían trasladarse a otros artículos.}} [https://nixos.org/ NixOS] es una distribución de Linux basada en el gestor de paquetes y sistema de construcción [[Special:MyLanguage/Nix|Nix]]. Admite la [[Wikipedia:Declarative programming|gestión declarativa]] de la [[Wikipedia:Configuration management|configuración]] de todo el sistema, así como actualizaciones y reversiones [[Wikipedia:Atomicity (database_systems)|atómicas]], aunque también puede admitir la gestión [[Wikipedia:Imperative programming|imperativa]] de paquetes y usuarios. En NixOS, todos los componentes de la distribución; incluido el [[Wikipedia:Linux kernel|kernel]], los [[Wikipedia:Package manager|paquetes]] instalados y los archivos de configuración del sistema; son construidos por [[Special:MyLanguage/Nix|Nix]] a partir de [[Wikipedia:Pure function|funciones puras]] llamadas [[Special:MyLanguage/Nix (language)|expresiones Nix]]. Dado que Nix utiliza caché de [[Wikipedia:Executable|binarios]], esto proporciona un equilibrio único entre el enfoque orientado a binarios utilizado por distribuciones como Debian y el enfoque orientado al [[Wikipedia:Source code|código fuente]] utilizado por distribuciones como Gentoo. Los binarios pueden utilizarse para componentes estándar, y los paquetes y módulos personalizados pueden utilizarse automáticamente cuando no hay disponible un binario precompilado. <div class="mw-translate-fuzzy"> Las versiones estables de NixOS se publican dos veces al año (alrededor de finales de mayo y finales de noviembre). NixOS fue creado por Eelco Dolstra y [[Wikipedia:Armijn Hemel|Armijn Hemel]], y publicado inicialmente en 2003. Es desarrollado y mantenido por la comunidad bajo la supervisión de la [[Special:MyLanguage/Nix_Community#NixOS_Foundation|Fundación NixOS]]. </div> <span id="Installation"></span> == Instalación == Para obtener una guía de instalación completa, consulta el [https://nixos.org/nixos/manual/index.html#ch-installation capítulo de instalación del manual de NixOS]. Esta wiki también incluye guías alternativas o complementarias, como [[Special:MyLanguage/NixOS as a desktop|NixOS como escritorio]]. La mayoría de los usuarios instalarán NixOS mediante [https://nixos.org/download/#nixos-iso una de las imágenes ISO]. Hay disponibles variantes ISO "gráfica" y "mínima" para cada arquitectura compatible; las imágenes "gráficas" son adecuadas para usuarios que planean instalar un entorno de escritorio, mientras que las imágenes "mínimas" son adecuadas para usuarios que desean instalar NixOS como servidor o prefieren una imagen ISO más pequeña. Las imágenes ISO son imágenes híbridas que pueden grabarse en medios ópticos o copiarse directamente a una unidad USB y arrancarse tal cual. Consulta la guía de instalación para obtener más detalles. Además de las imágenes ISO, la [https://nixos.org/download/#nixos-iso página de descarga] ofrece varios métodos alternativos para instalar NixOS. Estos incluyen: * Dispositivos virtuales en formato OVA (compatibles con VirtualBox); * AMI de Amazon EC2; <div lang="en" dir="ltr" class="mw-content-ltr"> Additionally, many existing Linux installations can be converted into NixOS installations using [https://github.com/elitak/nixos-infect nixos-infect] or [https://github.com/jeaye/nixos-in-place nixos-in-place]; this is particularly useful for installing NixOS on hosting providers which do not natively support NixOS. </div> <span id="System_architectures"></span> === Arquitecturas del sistema === NixOS ofrece soporte integrado para la mayoría de dispositivos x86_64 y dispositivos ARM64 genéricos. <span id="32-bit_x86_architectures"></span> ==== Arquitecturas 32-bit x86 ==== El soporte para arquitecturas x86 de 32 bits (es decir, <code>i686</code>) ha ido disminuyendo. Aunque la mayoría de los paquetes todavía deberían compilarse y ejecutarse, su disponibilidad en caché se ha reducido considerablemente<ref>https://discourse.nixos.org/t/limited-cache-availability-for-i686-32-bits-x86-architecture/37626</ref>. La ISO de x86 de 32 bits ya no se ofrece como una imagen preconstruida, pero todavía puede generarse manualmente. <span id="64-bit_x86_architectures"></span> ==== Arquitecturas 64-bit x86 ==== La mayoria de los dispositivos <code>x86_64</code> deberian ejecutar NixOS sin ningun problema. <span id="32-bit_ARM_architectures"></span> ==== Arquitecturas 32-bit ARM ==== {{Main|NixOS on ARM}} NixOS no tiene soporte oficial para dispositivos ARM32 (por ejemplo, <code>armv6</code> y <code>armv7l</code>); sin embargo, para algunos de estos dispositivos puede existir soporte por parte de la comunidad. <span id="64-bit_ARM_architectures"></span> ==== Arquitecturas ARM de 64 bits ==== {{Main|NixOS on ARM}} Siempre que un dispositivo sea compatible con el proceso de arranque genérico de systemd, NixOS debería funcionar sin configuración adicional. Sin embargo, algunos dispositivos específicos con cargadores de arranque propietarios pueden presentar problemas al ejecutarlo. <span id="MIPS_architectures"></span> ==== Arquitecturas MIPS ==== {{Main|NixOS on MIPS}} En el pasado hubo soporte limitado para arquitecturas MIPS en NixOS, y aún pueden encontrarse vestigios de ese soporte en Nixpkgs. Sin embargo, actualmente no existe soporte oficial. <span id="RISC-V_architectures"></span> ==== Arquitecturas RISC-V ==== {{Main|RISC-V}} NixOS no ofrece soporte oficial para dispositivos RISC-V. Sin embargo, algunos dispositivos pueden contar con soporte de la comunidad. <span id="Usage"></span> == Uso == <span id="declarative-configuration"></span> <span id="Declarative_Configuration"></span> === Configuración Declarativa === Una de las características distintivas de NixOS es su modelo de configuración declarativa, donde todo el estado del sistema, incluidos los paquetes instalados, los servicios del sistema y la configuración, se describe en archivos de configuración. El archivo principal suele estar ubicado en <code>/etc/nixos/configuration.nix</code>. Los cambios en la configuración se aplican de forma atómica mediante <code>nixos-rebuild switch</code>, garantizando la reproducibilidad y la posibilidad de volver a estados anteriores. La mayoría de los usuarios mantienen sus archivos de configuración en un sistema de control de versiones, lo que permite configuraciones del sistema coherentes y portables. Estas deficiencias suelen corregirse posteriormente, si es que se corrigen, mediante soluciones de gestión de configuración como Puppet, Ansible o Chef. Estas herramientas sincronizan la configuración del sistema con una descripción del estado esperado. Sin embargo, estas herramientas no están integradas en el diseño del sistema operativo, sino que simplemente se superponen sobre él, y la configuración del sistema operativo aún puede variar cuando algún aspecto de dicha configuración no ha sido especificado en la descripción del estado esperado. A diferencia de las distribuciones convencionales, donde la configuración del sistema suele estar repartida entre archivos editados manualmente, NixOS integra la gestión de configuración directamente en el sistema operativo. Esto elimina las inconcistencias de configuración y hace que NixOS sea especialmente adecuado para despliegues automatizados y reproducibles. Para obtener más detalles y ejemplos sobre las configuraciones de NixOS, consulta [[Special:MyLanguage/NixOS system configuration|Configuración del sistema NixOS]]. <span id="Imperative_Operations"></span> === Operaciones Imperativas === Aunque NixOS normalmente se configura de forma declarativa siempre que sea posible, hay algunos ámbitos en los que las operaciones imperativas siguen siendo necesarias, como la gestión del entorno de usuario y la gestión de canales. <span id="User_Environments"></span> ==== Entornos de usuario ==== Además de la configuración declarativa del sistema, los usuarios de NixOS pueden utilizar el comando imperativo <code>nix-env</code> de Nix para instalar paquetes a nivel de usuario, sin modificar el estado del sistema. Consulta la [[Special:MyLanguage/Nix#User Environments|sección de entornos de usuario del artículo sobre Nix]] para obtener más información. <span id="Channels"></span> ==== Canales (Channels) ==== En el [[Special:MyLanguage/Nix ecosystem|ecosistema Nix]], los [[Special:MyLanguage/Channel branches|canales]] son un mecanismo para distribuir colecciones de [[Special:MyLanguage/Nixpkgs|paquetes de Nix]] y definiciones de módulos de [[Special:MyLanguage/NixOS|NixOS]]. Un canal representa un conjunto seleccionado y versionado de definiciones de paquetes y configuraciones del sistema, que normalmente corresponde a una versión específica o al estado de desarrollo más reciente disponible. Al utilizar canales, tu sistema o [[Special:MyLanguage/User Environment|entorno de usuario]] obtiene definiciones de paquetes y opciones desde una URL que apunta a una instantánea (snapshot) específica de la colección de paquetes de Nix (Nixpkgs) y los módulos de NixOS asociados. Para obtener más información sobre el uso y la configuración de los canales de Nix, consulta [[Special:MyLanguage/Channel branches|ramas de canales]] (channel branches). <span id="Internals"></span> == Funcionamiento interno == <span id="Comparison_with_traditional_Linux_Distributions"></span> === Comparación con las distribuciones Linux tradicionales === ''Articulo principal: [[Special:MyLanguage/Nix vs. Linux Standard Base|Nix vs. Linux Standard Base]]'' La principal diferencia entre NixOS y otras distribuciones Linux es que NixOS no sigue la estructura del sistema de archivos de la [[Wikipedia:Linux Standard Base|Linux Standard Base]]. En los sistemas compatibles con LSB, el software se almacena en <code>/{,usr}/{bin,lib,share}</code> y la configuración generalmente se almacena en <code>/etc</code>. Los binarios del software están disponibles en el entorno de usuario si se ubican en uno de los directorios <code>/bin</code> definidos por la LSB. Cuando un programa hace referencia a bibliotecas dinámicas, buscará las bibliotecas necesarias en las carpetas de la LSB (<code>/lib</code>, <code>/usr/lib</code>). En NixOS, sin embargo, <code>/lib</code> y <code>/usr/lib</code> no existen. En su lugar, todas las bibliotecas del sistema, binarios, kernels, firmware y archivos de configuración se colocan en el [[Special:MyLanguage/Nix (package_manager)#Nix store|Nix store]]. Los archivos y directorios dentro de <code>/nix/store</code> reciben nombres basados en hashes de la información que describe los datos construidos. Todos los archivos y directorios almacenados en el Nix store son inmutables. <code>/bin</code> y <code>/usr/bin</code> están prácticamente ausentes: solo contienen <code>/bin/sh</code> y <code>/usr/bin/env</code>, respectivamente, para proporcionar compatibilidad mínima con scripts existentes que utilizan líneas shebang. Los entornos a nivel de usuario se implementan mediante una gran cantidad de enlaces simbólicos a todos los paquetes necesarios y archivos auxiliares. Estos entornos se denominan [[Special:MyLanguage/Nix#Profiles|perfiles]] y se almacenan en <code>/nix/var/nix/profiles</code>, teniendo cada usuario sus propios perfiles. La estructuración del sistema de esta manera es lo que permite a NixOS obtener sus ventajas principales frente a las distribuciones Linux convencionales, como la atomicidad y la compatibilidad con retrocesos. <span id="Usage_of_the_Nix_store"></span> === Uso de Nix store === Gran parte de la confusión entre los nuevos usuarios surge del hecho de que la configuración se almacena en el árbol de solo lectura <code>/nix/store</code> junto con todos los paquetes instalados. Esto hace imposible editar manualmente la configuración del sistema; todos los cambios de configuración deben realizarse modificando el archivo <code>/etc/nixos/configuration.nix</code> y ejecutando <code>nixos-rebuild switch</code>. NixOS proporciona el [[Special:MyLanguage/NixOS_modules|sistema de módulos]] para editar todas las configuraciones necesarias. Los usuarios deberían utilizar primero [https://search.nixos.org/options la herramienta de búsqueda de opciones] para comprobar si existe la opción que necesitan antes de intentar añadir manualmente archivos o configuración mediante características de bajo nivel de NixOS, como los scripts de activación. La pureza del sistema permite mantener la configuración del sistema en un lugar centralizado, sin necesidad de editar múltiples archivos. Esta configuración puede distribuirse o mantenerse bajo control de versiones según sea necesario. También proporciona determinismo; si se proporcionan las mismas entradas, la misma versión de Nixpkgs y el mismo archivo <code>/etc/nixos/configuration.nix</code>, se obtiene exactamente el mismo estado del sistema. <span id="Modules"></span> === Modulos === El [[Special:MyLanguage/NixOS modules|sistema de módulos de NixOS]], definido en [[Special:MyLanguage/Nixpkgs|Nixpkgs]], proporciona las herramientas necesarias para personalizar la configuración del sistema operativo. Se utiliza para habilitar y configurar servicios como nginx, habilitar firmware y personalizar el kernel. Por lo general, toda la configuración de los módulos se realiza añadiendo opciones al archivo <code>/etc/nixos/configuration.nix</code>. La mayoría de los ejemplos de la wiki muestran cómo utilizar este archivo para configurar el sistema operativo. El sistema de módulos de NixOS implementa un sistema de tipos que permite la verificación de tipos de las opciones configuradas. También permite combinar automáticamente opciones definidas en múltiples lugares. Esto permite distribuir la configuración en varios archivos, y las opciones establecidas en todos ellos se combinarán entre sí: {{file|/etc/nixos/configuration.nix|nix|<nowiki> { imports = [ ./basic-webserver.nix ./blog.nix ]; } </nowiki>}} {{file|/etc/nixos/basic-webserver.nix|nix|<nowiki> { services.nginx.enable = true; services.nginx.virtualHosts."example.com" = { root = "/var/www/example.com"; }; } </nowiki>}} {{file|/etc/nixos/blog.nix|nix|<nowiki> { services.nginx.virtualHosts."blog.example.com" = { root = "/var/www/blog.example.com"; }; } </nowiki>}} Para obtener más detalles, consulta la sección [https://nixos.org/manual/nixos/stable/index.html#sec-writing-modules Módulos del Manual de NixOS]. <span id="Generations"></span> === Generaciones === Cada vez que se reconstruye el estado del sistema mediante <code>nixos-rebuild switch</code>, se crea una nueva generación. Puedes volver a una generación anterior en cualquier momento, lo que resulta útil si un cambio en la configuración (o una actualización del sistema) causa problemas. Puedes volver atrás (roll back) mediante: <syntaxHighlight lang=console> $ nix-env --rollback # roll back a user environment $ nixos-rebuild switch --rollback # roll back a system environment </syntaxHighlight> NixOS también incluye entradas de generaciones anteriores en el menú del cargador de arranque, por lo que, como último recurso, siempre puedes volver a una configuración anterior simplemente reiniciando. Para establecer la generación actualmente arrancada como predeterminada, ejecuta: <syntaxHighlight lang=console> $ /run/current-system/bin/switch-to-configuration boot </syntaxHighlight> Como NixOS conserva generaciones anteriores del estado del sistema para permitir retrocesos, las versiones antiguas de los paquetes no se eliminan inmediatamente después de una actualización. Puedes eliminar generaciones antiguas manualmente: <syntaxHighlight lang=console> $ # delete generations older than 30 days $ nix-collect-garbage --delete-older-than 30d $ # delete ALL previous generations - you can no longer rollback after running this $ nix-collect-garbage -d </syntaxHighlight> Listar generaciones: <syntaxHighlight lang=console> $ # as root $ nix-env --list-generations --profile /nix/var/nix/profiles/system </syntaxHighlight> Cambiar entre generaciones: <syntaxHighlight lang=console> $ # as root switch to generation 204 $ nix-env --profile /nix/var/nix/profiles/system --switch-generation 204 </syntaxHighlight> Eliminar generacion(es) dañada(s): <syntaxHighlight lang=console> $ # as root delete broken generations 205 and 206 $ nix-env --profile /nix/var/nix/profiles/system --delete-generations 205 206 </syntaxHighlight> Puedes configurar la "recolección de basura" (garbage collection GC) automática definiendo las opciones de [https://search.nixos.org/options?query=nix.gc <code>nix.gc</code>] en <code>/etc/nixos/configuration.nix</code>. Esto es recomendable, ya que ayuda a mantener reducido el tamaño del Nix store. <span id="See_also"></span> == Véase también == <div lang="en" dir="ltr" class="mw-content-ltr"> * [[Special:MyLanguage/NixOS modules|NixOS modules]], a library for modular [[Special:MyLanguage/Overview of the Nix Expression Language#Expressions|Nix expressions]] which powers [[#declarative-configuration|the declarative configuration of NixOS]]. * [[Special:MyLanguage/NixOS VM tests|NixOS VM tests]], a library for creating reproducible infrastructure tests, based on [[Special:MyLanguage/Nixpkgs|Nixpkgs]], [[Special:MyLanguage/NixOS|NixOS]], QEMU and Perl. * [https://github.com/ryan4yin/nixos-and-flakes-book NixOS & Flakes Book] (Ryan4yin, 2023) - 🛠️ ❤️ An unofficial NixOS & Flakes book for beginners. </div> [[Category:Pedias]] [[Category:NixOS]] [[Category:Nix]]
Search
Search
Export translations
Add topic