Listenin ilk blog girdisine hoşgeldiniz. Bugün kurulum adımları ardından sürücü ve birkaç gerek duyduğum uygulamayı nasıl kurduğumu göstereceğim.
NOT: Bu blog listesi öğretici değildir, öğrenim sürecini anlatmaktadır. Blog listesi boyunca yaptıklarımı yapmanız önerilmemektedir.
Nix OS hakkında bilgim olmadığı için ilk kurulumu canlı ISO'dan yapıp daha sonra config dosyasını düzenleme kararı aldım.
GNOME masaüstünü düşük sayıda uygulama ile sunuyor ayrıca istemediğiniz uygulamaları kolayca kaldırabiliyorsunuz. İlerleyen kısımlarda bunu göstereceğim.
En baştan Flake ve Home Manager ile config hazırlamak istediğim için ev dizinimde nixos-config adında bir dizin oluşturdum. Gelin bugün configuration.nix adlı ana dosyaya bakalım.
Configuration.nix dosyasını uzun tutmak istemediğim için farklı dosyalara böldüm. Dosyaların uzun ve karmaşık olmasını istemiyorum.
İşte configuration.nix dosyamın ilk gündeki temel hâli:
54 satırlık bu dosyanın en başındaki "import" bölümünde diğer dosyaları bağladım.
Unstable yerine hem güncel hem stabil kalmak istiyorum, sürümü 25.11 olarak bıraktım.
systemd-boot'u aktifleştirdim.
Dil ve zaman dilimi ayarlarını yapılandırdım.
Kullanıcı hesabımı tanımladım.
Bazı sistem paketlerini dahil ettim. (Bağlanan dosyalarda farklı paketler de dahil edilmiş durumda.)
Son olarak Flake'i dahil ettim.
Minimal ve basit tutmaya çalışıyorum çünkü yeni öğreniyorum. Geri dönüp yeni özellikler ekleyeceğimde ne olduğunu anlamadığım satırlar bulunmasını istemiyorum. Umarım blog listesinin ilk bölümü hoşunuza gitmiştir. İyi akşamlar dilerim.
NOT: Bu blog listesi öğretici değildir, öğrenim sürecini anlatmaktadır. Blog listesi boyunca yaptıklarımı yapmanız önerilmemektedir.
Nix OS hakkında bilgim olmadığı için ilk kurulumu canlı ISO'dan yapıp daha sonra config dosyasını düzenleme kararı aldım.
GNOME masaüstünü düşük sayıda uygulama ile sunuyor ayrıca istemediğiniz uygulamaları kolayca kaldırabiliyorsunuz. İlerleyen kısımlarda bunu göstereceğim.
En baştan Flake ve Home Manager ile config hazırlamak istediğim için ev dizinimde nixos-config adında bir dizin oluşturdum. Gelin bugün configuration.nix adlı ana dosyaya bakalım.
Configuration.nix dosyasını uzun tutmak istemediğim için farklı dosyalara böldüm. Dosyaların uzun ve karmaşık olmasını istemiyorum.
İşte configuration.nix dosyamın ilk gündeki temel hâli:
Kod:
{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
./nvidia.nix
./network.nix
./desktop.nix
./gaming.nix
];
system.stateVersion = "25.11";
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
time.timeZone = "Europe/Istanbul";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "tr_TR.UTF-8";
LC_IDENTIFICATION = "tr_TR.UTF-8";
LC_MEASUREMENT = "tr_TR.UTF-8";
LC_MONETARY = "tr_TR.UTF-8";
LC_NAME = "tr_TR.UTF-8";
LC_NUMERIC = "tr_TR.UTF-8";
LC_PAPER = "tr_TR.UTF-8";
LC_TELEPHONE = "tr_TR.UTF-8";
LC_TIME = "tr_TR.UTF-8";
};
services.xserver.xkb = {
layout = "tr";
variant = "";
};
console.keyMap = "trq";
users.users.bayram = {
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "video" ];
};
environment.systemPackages = with pkgs; [
vim
git
wget
curl
pciutils
lshw
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
}
54 satırlık bu dosyanın en başındaki "import" bölümünde diğer dosyaları bağladım.
imports =
[
./hardware-configuration.nix
./nvidia.nix
./network.nix
./desktop.nix
./gaming.nix
];
[
./hardware-configuration.nix
./nvidia.nix
./network.nix
./desktop.nix
./gaming.nix
];
Unstable yerine hem güncel hem stabil kalmak istiyorum, sürümü 25.11 olarak bıraktım.
system.stateVersion = "25.11";
systemd-boot'u aktifleştirdim.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.canTouchEfiVariables = true;
Dil ve zaman dilimi ayarlarını yapılandırdım.
time.timeZone = "Europe/Istanbul";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "tr_TR.UTF-8";
LC_IDENTIFICATION = "tr_TR.UTF-8";
LC_MEASUREMENT = "tr_TR.UTF-8";
LC_MONETARY = "tr_TR.UTF-8";
LC_NAME = "tr_TR.UTF-8";
LC_NUMERIC = "tr_TR.UTF-8";
LC_PAPER = "tr_TR.UTF-8";
LC_TELEPHONE = "tr_TR.UTF-8";
LC_TIME = "tr_TR.UTF-8";
};
services.xserver.xkb = {
layout = "tr";
variant = "";
};
console.keyMap = "trq";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "tr_TR.UTF-8";
LC_IDENTIFICATION = "tr_TR.UTF-8";
LC_MEASUREMENT = "tr_TR.UTF-8";
LC_MONETARY = "tr_TR.UTF-8";
LC_NAME = "tr_TR.UTF-8";
LC_NUMERIC = "tr_TR.UTF-8";
LC_PAPER = "tr_TR.UTF-8";
LC_TELEPHONE = "tr_TR.UTF-8";
LC_TIME = "tr_TR.UTF-8";
};
services.xserver.xkb = {
layout = "tr";
variant = "";
};
console.keyMap = "trq";
Kullanıcı hesabımı tanımladım.
users.users.bayram = {
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "video" ];
};
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "video" ];
};
Bazı sistem paketlerini dahil ettim. (Bağlanan dosyalarda farklı paketler de dahil edilmiş durumda.)
environment.systemPackages = with pkgs; [
vim
git
wget
curl
pciutils
lshw
];
vim
git
wget
curl
pciutils
lshw
];
Son olarak Flake'i dahil ettim.
nix.settings.experimental-features = [ "nix-command" "flakes" ];
Minimal ve basit tutmaya çalışıyorum çünkü yeni öğreniyorum. Geri dönüp yeni özellikler ekleyeceğimde ne olduğunu anlamadığım satırlar bulunmasını istemiyorum. Umarım blog listesinin ilk bölümü hoşunuza gitmiştir. İyi akşamlar dilerim.