
NixOS kembali dengan, NixOS 25.11, versi yang membawa perubahan yang sangat mendalam Baik di dalam sistem itu sendiri maupun di ekosistem paket yang luas di sekitarnya. Dengan nama sandi "Xantusia", sistem ini kini tersedia dan dilengkapi dengan fitur-fitur baru yang menarik untuk desktop, server, pengembangan, dan penerapan cloud, tetapi juga dengan sejumlah ketidakcocokan dan paket-paket usang yang perlu ditinjau dengan saksama sebelum diperbarui.
Pada artikel ini kita akan melihat Semua berita penting Dari NixOS 25.11 dan basis paket Nixpkgs: pembaruan penting seperti GNOME 49, LLVM 21, dan ROCm 6.3; perubahan signifikan pada Go, Rust, Node.js, PostgreSQL, dan Docker; layanan yang berganti nama; modul baru; dan opsi konfigurasi tambahan. Kami juga akan membahas studi kasus nyata terkait masalah proksi saat mengompilasi Discord dan cara mengatasinya di lingkungan baru ini.
NixOS 25.11 “Xantusia”: siklus hidup dan angka peluncuran
Versi stabil baru, NixOS 25.11 “Xantusia”Kini dapat diinstal dan diperbarui di sistem apa pun menggunakan saluran stabil. Edisi ini akan menerima patch keamanan dan perbaikan bug selama tujuh bulan, hingga 30 Juni 2026, sehingga menjadi pembaruan yang direkomendasikan jika Anda menggunakan versi sebelumnya.
Yang stabil sebelumnya, NixOS 25.05 “Warbler”, secara resmi menjadi usang dan tidak akan lagi menerima pembaruan keamanan mulai 31 Desember 2025. Jika Anda masih menggunakan versi 25.05 atau versi yang lebih lama, sekaranglah saat yang tepat untuk merencanakan migrasi Anda ke versi 25.11 dengan tenang, sambil meninjau perubahan yang tidak kompatibel yang akan kami jelaskan di seluruh teks ini.
Peluncuran ini juga merupakan sebuah ajang untuk memamerkan tingkat perkembangan Proyek ini. Antara NixOS 25.05 dan NixOS 25.11, 2742 kontributor berpartisipasi, secara kolektif menandatangani tidak kurang dari 59.430 komitmen untuk Nixpacks dan konfigurasi sistem. Di balik angka-angka ini terdapat berbagai hal, mulai dari perbaikan kecil hingga paket-paket marginal hingga desain ulang besar-besaran modul distribusi penting.
Nixpkgs: Paket yang ditambahkan, diperbarui, dan dihapus dari NixOS 25.11
Koleksi paket Nixpkgs, yang merupakan tulang belakang Tidak hanya NixOS tetapi sistem apa pun yang menggunakan manajer paket Nix di Linux atau macOS telah menerima pemeliharaan besar-besaran pada siklus ini.
Di satu sisi, ada 7002 paket baru ditambahkanMemperluas jangkauan perangkat lunak yang tersedia. Ini mencakup segalanya, mulai dari alat pengembangan mutakhir hingga aplikasi desktop, utilitas manajemen, dan perangkat lunak ilmiah.
Pada saat yang sama, tim telah Memperbarui 25.252 paket yang adaHal ini memastikan bahwa sebagian besar perangkat lunak populer diperbarui ke versi terbaru, terutama yang dilengkapi patch keamanan dan peningkatan kinerja. Hal ini krusial dalam lingkungan yang mengutamakan reproduktifitas sekaligus mempertahankan tingkat kemutakhiran yang wajar.
Untuk menjaga repositori tetap dapat dikelola dan aman, Nixpkgs memiliki 6338 paket lama dihapus yang tidak lagi dipelihara, rusak, atau sudah usang di hulu. Dalam banyak kasus, alternatif langsung terdapat di dalam pohon Nixpkgs itu sendiri, tetapi di kasus lain, alternatif tersebut hanya dinonaktifkan untuk menghindari masalah keamanan atau kompilasi.
Modul dan opsi konfigurasi NixOS
Selain paket-paketnya, NixOS dibedakan oleh sistem modul deklaratifnya yang canggih. Siklus ini mencakup: 107 modul baru disertakanPembaruan ini menambahkan dukungan untuk layanan, daemon, aplikasi, dan konfigurasi sistem baru. Pembaruan ini juga menghadirkan 1778 opsi konfigurasi baru, yang semakin meningkatkan detail deskripsi suatu sistem.
Di sisi lain, ada menghapus 41 modul dan opsi konfigurasi 807 yang sudah usang, rusak, atau digantikan oleh alternatif yang lebih modern. Jika Anda menggunakan kembali konfigurasi lama, sebaiknya tinjau pemberitahuan penghentian untuk menyesuaikan berkas Anda sebelum melakukan pemutakhiran.
Fitur baru yang menonjol di desktop: GNOME 49 “Brescia”
Salah satu fitur baru yang besar untuk pengguna desktop adalah pembaruan untuk GNOME 49 “Brescia”Versi lingkungan desktop ini mengambil langkah tegas menuju Wayland dan menghilangkan sesi berbasis X11, yang mungkin merupakan perubahan signifikan jika Anda mempertahankan konfigurasi atau ekstensi lama yang secara eksplisit bergantung pada Xorg.
GNOME 49 menggabungkan Aplikasi baru Ini mencakup pemutar video yang diperbarui dan penampil dokumen yang diperbarui, serta kalender yang didesain ulang dan berbagai peningkatan kecil pada pengalaman pengguna. Disarankan untuk meninjau catatan rilis resmi GNOME jika Anda mengandalkan fungsionalitas yang sangat spesifik atau ekstensi yang kompleks.
Kompiler dan rantai alat C: LLVM, GCC, dan CMake
Di bagian kompilasi, NixOS 25.11 memperbarui LLVM ke versi 21Ini merupakan lompatan maju yang signifikan bagi para pengembang yang menggunakan C, C++, atau Rust dengan toolchain Clang. Versi ini mencakup peningkatan optimasi, tujuan baru yang didukung, dan penyesuaian peringatan yang dapat menyebabkan perubahan perilaku di beberapa proyek.
penyusun GCC tetap berada di cabang 14Ini adalah versi yang sudah mapan dan teruji dalam produksi. Hal ini memudahkan pemeliharaan kompatibilitas dengan proyek-proyek yang masih bergantung pada keluarga kompiler ini tanpa mengalami perubahan yang mengganggu setiap kali pembaruan sistem.
Untuk bagiannya, CMake diperbarui ke versi 4Hal ini dapat mengaktifkan fitur-fitur baru dalam sistem build modern, tetapi mungkin juga memerlukan penyesuaian dalam proyek-proyek yang menggunakan sintaksis atau perintah yang sudah ketinggalan zaman. Jika Anda memiliki templat CMake yang lebih lama, sebaiknya jalankan uji build sebelum menyelesaikan migrasi.
GPU, komputasi, dan perubahan dalam ROCm dan CUDA
Bagi mereka yang bekerja dengan akselerasi GPU, cabang rocmPackages_6 ditingkatkan ke ROCm 6.3Sementara rocmPackages_5 Pohonnya diambil dari pohon. Beberapa bagiannya direstrukturisasi: rocmPackages.rocm-thunk Ini menghilang sebagai paket terpisah dan terintegrasi ke dalam rocmPackages.clr, Dan rocmPackages.clang-ocl Dia pensiun setelah ditinggalkan oleh AMD pada tahun 2023.
Secara paralel, Dukungan resmi untuk CUDA 10 hilangSeperti yang telah disebutkan dalam catatan rilis NixOS 24.11, pengguna yang masih mendukung perangkat keras yang sangat lama harus mempertimbangkan untuk meningkatkan GPU mereka atau memeriksa apakah ada alternatif yang dipertahankan dari produsen atau backend lain.
Peramban, proksi, dan masalah saat mengkompilasi Discord
Salah satu masalah praktis yang muncul pada versi ini adalah penggunaan proxy selama kompilasiSeorang pengguna menjelaskan cara mereka dapat mengunduh berkas dengan sukses. discord-0.0.116.tar.gz dari browser menggunakan proxy perusahaan, tetapi saat menjalankan nixos-rebuild Unduhan dengan curl gagal berulang kali dengan kesalahan curl: (35) Recv failure: Connection reset by peer sampai semua upaya habis.
Pesan kesalahan Nix menunjukkan bahwa Tarball Discord tidak dapat diunduh dari tidak ada cermin, sehingga mematahkan derivasi discord-0.0.116.tar.gz.drv dan, pada gilirannya, pembangunan lingkungan pengguna dan sistem secara keseluruhan. Meskipun log menunjukkan peringatan percobaan ulang otomatis, variabel seperti https_proxy o all_proxyHal ini menunjukkan bahwa lingkungan runtime dalam sandbox build tidak melihat konfigurasi jaringan pengguna.
Di NixOS, variabel lingkungan proxy standar Mereka mungkin tidak dapat dipropagasi langsung ke fork jika sandboxing yang ketat digunakan atau jika konfigurasi sistem tidak mengekspornya ke build. Solusi tipikal melibatkan konfigurasi opsi Nix sebagai nix.extraOptions untuk memasukkan http_proxy, https_proxy dan perusahaan, atau menonaktifkan sementara sandbox untuk mesin tersebut (tidak disarankan untuk jangka panjang) sambil menyesuaikan server proxy untuk mengizinkan lalu lintas dari IP pembangun.
Pilihan lainnya adalah dengan menggunakan cache biner yang sudah berisi Discord atau paket bermasalah lainnya, sehingga mencegah Nix mengunduh sumbernya secara langsung. Bagaimanapun, jenis kesalahan jaringan ini menjadi lebih relevan dalam versi seperti 25.11, yang memindahkan begitu banyak bagian sekaligus dan dapat menimbulkan perilaku berbeda dalam cara URL diselesaikan.
Jaringan, kontainer, dan layanan web
Di bidang jaringan dan kontainer, NixOS 25.11 memperkenalkan perubahan yang signifikan. Peningkatan proxy HTTP Squid ke versi 7Rilis ini mencakup beberapa perubahan yang tidak kompatibel, seperti penghapusan fungsi ESI. Untuk penyesuaian pengaturan khusus Anda, disarankan untuk meninjau catatan rilis Squid.
Pada tingkat orkestrasi, containerd memperbarui ke cabang 2.x-nyaHal ini membawa sejumlah perubahan perilaku. Baik Anda menggunakan containerd secara langsung maupun sebagai komponen platform, penting untuk meninjau dokumentasi containerd 2.0 guna menghindari kejutan dalam proses produksi.
Di dunia Docker, docker_24 dihapus dari pohon karena tidak lagi didukung dan memiliki kerentanan yang diketahui sejak Juni 2024. Idenya adalah untuk mendorong instalasi ke versi Docker yang lebih baru dan terpelihara.
Mengenai server dan panel kontrol, NetBox diperbarui ke cabang 4.2dengan perubahan signifikan pada tingkat skema dan perilaku. Versi 4.0.x dihapus dari hierarki, dan pengguna disarankan untuk mengikuti notifikasi pembaruan 4.1 dan 4.2 sebelum melakukan pemutakhiran. Layanan lain seperti matomo Mereka beralih menggunakan versi 5 secara default (versi 4 tidak lagi didukung), dan paket tersebut dihapus. matomo-beta karena sekarang mudah untuk menimpa versi dari overrideAttrs.
Kafka juga membuat lompatan yang signifikan: Apache Kafka diperbarui ke cabang 4.0yang tidak lagi mendukung ZooKeeper. Semua instalasi harus dimigrasikan ke mode KRaft, mengikuti panduan Apache Foundation. Di NixOS, hal ini melibatkan peninjauan konfigurasi untuk menghapus referensi ke ZooKeeper dan mengadaptasi penerapan broker.
Layanan, daemon, dan aplikasi yang berubah atau hilang dari NixOS 25.11
Daftar dari Paket dan layanan yang diganti nama, diperbarui secara tidak kompatibel, atau dihentikan Ini adalah siklus yang sangat panjang, tanda dari keinginan untuk membersihkan pohon perangkat lunak yang lama atau bermasalah.
Beberapa contoh penting: gkraken Hilang dan disarankan untuk menggunakan coolercontrol sebagai alternatif; opensmtpd-ekstra Ini dihapus karena tidak kompatibel dengan OpenSMTPD 7.6.0+ dan digantikan oleh paket-paket tertentu. opensmtpd-table-*; zammad Ia berhenti mendukung MySQL dan memaksa pengguna untuk bermigrasi ke PostgreSQL mengikuti panduan resmi.
Di dunia nama, Minetest sekarang disebut Luanti untuk mencerminkan perubahan di hulu, tetapi alias tetap dipertahankan untuk menghindari gangguan langsung. Demikian pula, perubahan poac pada cabinpkg, xdragon menjadi dragon-drop (Dengan xdragon (sebagai alias) dan siduck76-st itu diganti namanya menjadi st-snazzyAda juga huruf kecil: font serius-sans Penarikannya karena upstream telah mengubah namanya menjadi Serious Shanns, yang masih belum dikemas.
Proyek lainnya hanya diarsipkan: gkraken, ephemeral, vocal, fluxus, sm64ex-coop, nexusmods-app, nodePackages.ganache dan masih banyak lagi yang ditandai rusak, tidak terawat, atau tidak aman dan dihapus dari Nixpacks. Dalam beberapa kasus, alternatif disarankan (misalnya, sm64coopdx untuk mengganti sm64ex-coop, atau gnome-podcasts y kasts untuk mengganti vokal).
Dalam lingkungan perpesanan dan privasi, paket-paket signald, signaldctl dan purple-signald Mereka dihentikan karena ketidakcocokan yang berkepanjangan dengan server resmi Signal dan server Matrix. saluran Ini ditandai sebagai rentan setelah dihentikan oleh pengembangnya.
Versi baru dan perubahan perilaku dalam aplikasi populer
Selain hilangnya, banyak aplikasi diperbarui dengan perubahan perilaku yang merusak kompatibilitas. Sebagai contoh Agen Grafana dan modulnya Mereka meninggalkan tempat itu demi Grafana Alloy, yang sudah memiliki layanannya sendiri. services.alloyGrafana merekomendasikan migrasi ke grafana-alloy dan menyediakan dokumentasi untuk menyelesaikan transfer.
Ekosistem monitor dan panel juga berkembang: Prometheus membuat lompatan ke cabang 3.xdengan catatan migrasi resmi, sementara kanata, authelia, helmfile, open-policy-agent dan banyak paket lainnya diperbarui ke versi utama dengan perubahan sintaksis, format konfigurasi, dan nilai default. Secara khusus, OPA membuatnya rego.v1 sekarang menjadi gaya default, menandai sintaksis v0 sebagai warisan, meskipun mode kompatibilitas masih ada.
Dunia desktop tidak jauh tertinggal: GIMP 3.0 muncul sebagai gimp3, Strawberry diperbarui ke seri 1.2 dan meninggalkan backend VLC dan Qt5 (paketnya menghilang) strawberry-qt5 dan beberapa pilihan dengan GStreamer/VLC), rofi Ini berubah dari 1.7.5 menjadi 1.7.6 dengan perubahan ABI dalam plugin biner, dan tauon 7.9.0+ Basis data Anda sedang dimigrasikan ke skema yang tidak kompatibel dengan versi sebelumnya, jadi sebaiknya buat cadangan ~/.local/share/TauonMusicBox sebelum membuka versi baru.
Di bidang pengembangan web dan JavaScript, nodejs_latest berevolusi ke seri 24.x, dieliminasi nodejs_23 y nodejs_18dan membersihkan paket Node yang seharusnya tidak pernah global (seperti webpack-dev-server, copy-webpack-plugin, expo-cli o create-react-native-app), dengan rekomendasi untuk menginstalnya di tingkat proyek. Alat seperti pnpm melompat ke versi 10 dengan paket sekunder pnpm_9 bagi mereka yang membutuhkan kompatibilitas.
Ada juga penyesuaian pada font: nerdfonts dibagi menjadi paket-paket individual di bawah namespace nerd-fonts dan jalur instalasi untuk font berubah, sekarang memiliki direktori berdasarkan jenis font (<fontDirName>Hal ini memaksa kami untuk mengadaptasi konfigurasi yang menunjuk ke rute lama.
Perubahan pada kernel, perangkat keras, dan lingkungan sistem
Pada tingkat sistem, hal ini ditinggalkan dukungan penuh untuk Darwin 32-bithanya mempertahankan platform modern. Selain itu, konfigurasi tiga kali lipat aarch64-darwin sesuai dengan arm64-apple-darwin, selaras dengan harapan Apple dan LLVM.
El paquete kecilcc Kemudian memisahkan output menjadi dev, doc y lib, membuat tinycc.out Ini hanya berisi biner TCC dan kompiler silang. Dalam TPM, tpm2-pkcs11 Ini dikompilasi tanpa dukungan untuk abrmd Secara default, ia memprioritaskan manajer sumber daya kernel; jika Anda memerlukan varian dengan abrmd, varian tersebut ada. tpm2-pkcs11.abrmddan modul NixOS secara otomatis memilih sesuai dengan security.tpm2.abrmd.
Dalam udev, aturannya libjaylink Mereka sekarang menuntut untuk menjadi bagian dari kelompok tersebut. jlink di tempat plugdevHal ini sangat jarang terjadi di NixOS. Akses juga diizinkan melalui sesi kursi, sehingga dampaknya terbatas jika Anda menggunakan desktop standar.
alat peraga mkBinaryCache Ini dimodernisasi dan mulai digunakan zstd sebagai kompresi default
Untuk cache biner yang dihasilkanPilihan untuk melanjutkan dibiarkan terbuka. xz melalui compression = "xz";Hal ini meningkatkan kinerja dalam pembuatan dan konsumsi biner dalam sebagian besar kasus.
Dalam opsi jaringan, networking.nat.externalIP dan externalIPv6 mengubah perilakunya: aturan-aturan networking.nat.forwardPorts Aturan ini sekarang hanya berlaku untuk paket yang ditujukan untuk IP yang ditentukan secara eksplisit. Hal ini mencegah pengalihan tak terduga, tetapi mungkin memerlukan penyesuaian definisi NAT yang ada.
Dalam manajemen sistem berkas, definisi sistem berkas (seperti fileSystems."/") diatur menggunakan lib.mkDefault dari modul NixOS, yang memungkinkan penggantian semuanya sekaligus tetapi menyebabkan kesalahan jika hanya atribut individual yang ditimpa tanpa menentukan deviceJika tidak, Anda mungkin menemukan pesan seperti No device specified for mount point '/'.
Pengeditan teks, lingkungan pengembangan, dan berbagai utilitas NixOS 25.11
Di dunia Emacs, NixOS 25.11 Hapus Emacs 28 dan 29Baik versi standar maupun versi Macport untuk Emacs 28 disertakan. Edisi Macport Emacs 29 tetap dipertahankan, tetapi dengan perbaikan untuk kerentanan yang diketahui. Racket juga mengalami pemangkasan: racket_7_9 ditarik karena tidak amanmendorong untuk menggunakan Racket 8, dan dengan demikian menghilangkan fluks, yang telah mengandalkan versi yang tidak terawat itu selama bertahun-tahun.
Mesin pencari teks binwalk 3.1.0 Ini ditulis ulang dalam Rust, dan modul Python terkait menjadi tidak tersedia; alat akun pribadi python3Packages.jumlah kacang Meningkat menjadi 3.1 dengan seri sebelumnya dipertahankan sebagai beancount_2Dalam email dan CLI, tldr Ini beralih menggunakan klien Python alih-alih C, dan himalaya Versi ini diperbarui ke versi 1.1.0 dengan perubahan-perubahan penting yang memerlukan tinjauan konfigurasi.
Dalam berbagai alat, nq 1.0 mengganti nama fq dan tq menjadi nqtail dan nqterm, zf 0.10.2 Ini mengubah cara menangani Unicode dan urutan escape, dan ast-grep hapus perintahnya sg untuk menghindari konflik dengan shadow-utils, sambil tetap mengizinkan versi kompatibilitas lama melalui enableLegacySg = true;.
Pada saat yang sama, keluarga fungsi log standar nixLog* Ini ditulis ulang untuk mengawali level debugging dan nama fungsi pemanggil, memperkenalkan kembali nixLog sebagai logger tanpa syarat yang juga menambahkan konteks fungsi. Hal ini memudahkan debugging derivasi dan hook yang kompleks.
Terakhir, beberapa utilitas pengujian seperti penguji.shellcheck Sekarang mereka memperingatkan Anda jika atribut tidak disediakan. nameyang akan menjadi wajib di versi mendatang. Dan di Haskell, testTarget ditandai sebagai usang untuk kepentingan testTargets, yang menerima daftar target yang eksplisit, bukan string yang dipisahkan spasi.
NixOS versi 25.11 dengan demikian mengkonsolidasikan sejumlah besar perubahan, dari desktop GNOME 49 dan pembaruan paket besar-besaran hingga penyesuaian mendalam pada toolchain, layanan jaringan, dan kebijakan kompatibilitas, menjadikannya rilis penting bagi siapa pun yang ingin menjaga lingkungan Nix mereka tetap mutakhir tanpa melupakan stabilitas dan reproduktifitas yang menjadi ciri proyek tersebut.