Rehber NixOS için yeni nesil paket yöneticisi: Lix-PM

Lix nedir, nasıl yüklenip kullanılır ve kimlere hitap eder sorularına cevap bulacağımız bu rehber NixOS'a ilk adımı atmam isteyenler için olacak.


Lix-PM Nedir?


"Lightweight Nix package Manager" yani Lix-pm, Cppnix'in çatallanıp kolaylaştırılmış hâlidir. Cppnix ne diye soracaksanız Nixpkgs'den veri çeken paket yöneticisi. Yani dümdüz Nix. Nix-env komutundan aklınıza gelebilir.

Normal Nix'ten farkı ne?

Klasikleşmiş konfigürasyon dosyasının aksine alışılan diğer paket yöneticileri gibi (apt/dnf) paketleri yükleyebiliyor olmamız.

Nix: Paketler /nix/store/... konumunda bulunur ve şifrelidir. Kullanıcı buradaki dosyaları değiştiremez, symlink oluşturulan dosya değişmedikçe içindeki de değişmez.

Lix: Paketler /nix/store/ konumunda bulunur, şifrelenmemiştir. Diğer dağıtımlarda da olduğu gibi değiştirilebilir.

Varsayılan olarak Unstable reposundan paket çeker. Paket kurulumu altta belirtilecektir.


Lix-PM nasıl kurulur?


2 yol var. Biri nixpkgs, diğeri modül kullanarak.

Nixpkgs ile kurulum:

configuration.nix dosyanızı açıp herhangi bir satıra nix.package = pkgs.lix; eklemeniz yeterli. Daha anlaşılır olmasını isteyen alttaki betiğe bakabilir.

Kod:
{ pkgs, ... }:
{
 nix.package = pkgs.lix;
}

Modüller ile kurulum:

İnputs kısmına alttaki satırları yazmalısınız.

Kod:
 lix-module = {
 url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
 inputs.nixpkgs.follows = "nixpkgs";
 };

İnputs kısmını ekledikten sonra outputs kısmını da alttaki gibi düzenleyin.

Kod:
 outputs = {nixpkgs, lix-module, ...}: {

 nixosConfigurations.your-box = nixpkgs.lib.nixosSystem {
 system = "x86_64-linux"

 modules = [

 lix-module.nixosModules.default
 ];

 };
 }

Daha sonra rebuild edip kullanmaya başlayabilirsiniz.

İmports'u alttaki gibi düzenlemeniz gerekir. İleride bu ve flakes yönetimi değişebileceğinden Wiki'nin linkini en alta bırakacağım.

Kod:
imports =
 [ ./hardware-configuration.nix

 (let
 module = fetchTarball {
 name = "source";
 url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
 sha256 = "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=";
 };
 lixSrc = fetchTarball {
 name = "source";
 url = "https://git.lix.systems/lix-project/lix/archive/2.93.0.tar.gz";
 sha256 = "sha256-hsFe4Tsqqg4l+FfQWphDtjC79WzNCZbEFhHI8j2KJzw=";
 };

 in import "${module}/module.nix" { lix = lixSrc; }
 )
 ];

Rebuild yapıp kullanmaya başlayabilirsiniz.

Kurulumu gerçekleştirdiğimize göre nix --version komutunu çalıştıralım. Alttaki gibi bir çıktı görmemiz gerekli.

Kod:
nix (Lix, like Nix) 2.93.0

#sondaki sayılar farklı olabilir


Lix-PM nasıl kullanılır?


Apt veya dnf nasıl ise bu da ona benzer çalışıyor.

Paket yüklemek için: lix install fastfetch
Paket silmek için: lix remove fastfetch
Paket güncellemek için: lix upgrade fastfetch
Sistemdeki tüm paketleri güncellemek için: lix upgrade
Sistemden kaldırılan kalıntıları temizlemek için: lix gc
Nix-shell alternatifi için kullanılışı: lix-shell fastfetch


Lix-PM kimlere hitap eder?


NixOS birden çok cihaz yerine şahsi cihazda kullanılacaksa işleri hızlandırmak için çok işe yarayacaktır.

NixOS'a yeni geçen kullanıcılar konfigürasyon oluşturmaya alışana kadar ellerinin alıştığı ortama yakınlık duysun diye kullanılabilir.

Bu paket yöneticisinin amacı NixOS'in zenginliğini zorluktan arındırıp kullanıcılara sunmak olduğundan rahatlık ve geniş destek arayan kullanıcılar için ideal.

Kaynakça: Lix

Umarım işe yarar ve bu dağıtımın daha çok kişiye ulaşmasına yardımcı olur.
 
NixOS denemeye çok niyetim var ama bağımlılık olayını çözemedim bir türlü. Sanal makinede biraz daha deneyim kazandıktan sonra deneyeceğim umarım.
 
@The Shorekeeper flake kısmını atlarsak aslında kolay hocam. Ben de Flake'lerde takıldım, çok ayrı bir dünya. Bir de sürekli yeni şeyler eklenip duruyor oraya, takip etmesi işin içinde olan biri için de zor.
 
@The Shorekeeper flake kısmını atlarsak aslında kolay hocam. Ben de Flake'lerde takıldım, çok ayrı bir dünya. Bir de sürekli yeni şeyler eklenip duruyor oraya, takip etmesi işin içinde olan biri için de zor.

En basit yerde takıldım ben 😄 configuration.nix dosyasına biraz daha alışmam gerekiyor.
 
En basit yerde takıldım ben 😄 configuration.nix dosyasına biraz daha alışmam gerekiyor.

Anladım. Daha çok yolunuz var hocam.🙂
Amacın paketleri yüklemek ise şimdilik bu rehberi uygula istersen. Ya da konu açarsın yardıma gelirim.

NixOS'e genelde Arch kullanıcıları ilgi duyuyor. Arch sürekli sorun çıkarıyor diye geçip NixOS'tan pişman olanı görmedim. Bence sende olmazsın hocam.
 
Anladım. Daha çok yolunuz var hocam.🙂
Amacın paketleri yüklemek ise şimdilik bu rehberi uygula istersen. Ya da konu açarsın yardıma gelirim.

NixOS'e genelde Arch kullanıcıları ilgi duyuyor. Arch sürekli sorun çıkarıyor diye geçip NixOS'tan pişman olanı görmedim. Bence sende olmazsın hocam.

Muhtemelen öyle olur. Önce kendim yapmaya çalışayım olmazsa konu açarım. Teşekkür ederim.
 
Tam olarak anlayamadığım şey, bu paket yöneticisinden yüklediğim paketleri tekrardan configuration.nix içerisine eklemem gerekip gerekmediği.
 
@Fueren gerekmiyor hocam. 1 defa uğraştıktan sonra gerekmiyor. Hatta hiç uğraşamam dersen alttaki kodu girip geç.

Kod:
sudo nix-env -iA nixos.lix

Konuya eklemeyi unutmuşum ama burada yazayım. Lix kullanırken sudo kullanılmıyor. Paketler kullanıcı seviyesinde yüklendiğinden gerek yok. AUR yardımcıları gibi.
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı