Saya lebih suka memaksimalkan kontrol atas sistem saya bila memungkinkan. Prioritas utama untuk desktop Linux saya termasuk aksesibilitas, kemudahan penggunaan, reproduktifitas, dan stabilitas.
Dan berbicara tentang kontrol, saya menyadari bahwa saya harus mulai mendokumentasikan proses saya. Maksudku, siapa tahu, kebijaksanaanku mungkin hanya pergi enam kaki di bawah bersamaku, dan aku punya banyak sekali pengetahuan yang terselip di otakku ini. Plus, Anda tahu apa yang mereka katakan tentang eksternalisme aktif - ini semua tentang memastikan pengetahuan Anda tidak berakhir dengan Anda.
Saya telah bereksperimen dengan alat yang berbeda dari waktu ke waktu mulai dari skrip shell, makefile, ansible/puppet/chef (lihat tag git) untuk menegakkan dan menyinkronkan konfigurasi. Tetapi ketika sistem berkembang, hal -hal cenderung memburuk dan semuanya menjadi kekacauan raksasa.
Nix tampaknya mengatasi masalah ini, meskipun secara ekstrem - kurang nyaman dan masuk akal, tetapi cukup efektif - memprioritaskan kebenaran daripada fleksibilitas. Yang paling penting itu menjamin reproduktifitas, yang berarti saya bisa duduk dan rileks; Jika sesuatu berhasil, itu akan terus bekerja kecuali diubah.
Sebelum apa -apa, Anda dapat melihat konfigurasi saya di:
Selain itu, saya telah menjelaskan Nix secara luas di catatan saya di sini.
Ini adalah repositori root untuk konfigurasi sistem linux saya, dikelola oleh Nix Flake.
Saya terutama menggunakan home-manager dengan snowfall-lib untuk instalasi & konfigurasi sebagian besar paket. Untuk barang -barang asli (driver tampilan / virtualisasi yang membutuhkan integrasi / manajemen layanan kernel DKMS) Saya telah menggunakan boneka ral.
Jadi dalam kebanyakan kasus, konfigurasi ini harus berlaku agar sesuai dengan berbagai macam distro, termasuk berbagai manajer layanan (SystemD/Runit/OpenRC/ETC).
JustFile telah mengatur resep berikut.
just --list --unsorted Resep yang tersedia:
membangun
Dry-run
mengalihkan
Daftar-generasi
treeview arg = '.' # Menampilkan Treeview dari folder yang diberikan (juga digunakan dalam pembuatan readme)
nvfetcher # Perbarui semua dependensi di nvfetcher.toml
bundix # perbarui semua permata dalam paket/**
Perintah utama yang harus Anda ingat adalah,
just switch && stow -t $HOME stow/ TODO: Folder Dokumen stow
Autogenerasi dengan menjalankan Cc Cv b di Emacs. Pastikan untuk memuat modul shell jika belum.
rumah
└── x86_64-linux
└── animesh@kerangka kerja
└── default.nix
Konfigurasi utama saya adalah di homes/x86_64-linux/animesh@framework/default.nix.
modul
└─ "rumah
├── Aplikasi
│ └── Berani
│ └── default.nix
├── CLI
│ ├── kelelawar
│ │ └── default.nix
│ ├── Ikan
│ │ ├── default.nix
│ │ └─ "Functions.nix
│ ├── git
│ │ └── default.nix
│ ├── Inxi
│ │ └── default.nix
│ ├── saja
│ │ └── default.nix
│ ├── Kitty
│ │ └── default.nix
│ ├── nix
│ │ ├── default.nix
│ │ ├── pin-inputs.nix
│ │ └── Setup-Comma.nix
│ ├── Ranger
│ │ └── default.nix
│ └─ "kapal luar angkasa
│ └── default.nix
├── Desktop
│ ├── eww
│ │ └── default.nix
│ ├── font
│ │ └── default.nix
│ ├── GTK
│ │ └── default.nix
│ ├── Herbstluftwm
│ │ └── default.nix
│ └── xorg
│ └── default.nix
├─ "editor
│ ├── Emacs
│ │ └── default.nix
│ └── NVIM
│ └── default.nix
├── bahasa
│ ├── Android
│ │ └── default.nix
│ ├── Pergi
│ │ └── default.nix
│ └── Ruby
│ └── default.nix
├── modul
│ └── Puppet
│ ├── default.nix
│ └─ "dll. Nix
└── sistem
├── ACPI-HANDLER
│ └── default.nix
├── Auto-cpufreq
│ └── default.nix
├── fstrim
│ └── default.nix
└── sysctl
└── default.nix
paket
├── Emacs-chdir
│ └── default.nix
├── Emacs-PCRE
│ └── default.nix
├── Icons fosfor
│ └── default.nix
└─ "boneka
├── default.nix
└── Gemset.nix
overlay
└── nvfetcher
└── default.nix
Untuk membersihkan generasi yang lebih tua:
pushd ~ /.local/state/nix/profiles && ls | awk " !/ $( readlink home-manager ) / && /home-manager-/ " | xargs rm && popd
nix-collect-garbage --delete-old
nix store gc --debugTerkadang file MMAP mencegah GC, reboot + hal yang sama mungkin lebih jelas lagi!
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
For more information, please refer to < http://unlicense.org/ >Terima kasih khusus untuk ini karena konfigurasi saya sangat terinspirasi oleh mereka,