@rafanochi nixosda flutter loyiha uchun minimal config tayyorlab berdilar.
Buni ishlatish uchun loyiha uchun bo'sh folder yaratamiz shu flake.nix'ni o'sha yerga tashlaymiz.
configuration.nix'ga manabuni qo'shamiz
keyin flake.nix turgan folderga o'tib
Faqat x86_64 da test qilib ko'rdik.
Buni ishlatish uchun loyiha uchun bo'sh folder yaratamiz shu flake.nix'ni o'sha yerga tashlaymiz.
configuration.nix'ga manabuni qo'shamiz
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs;
[
aapt
];
keyin flake.nix turgan folderga o'tib
nix develop -c $SHELL
flutter create .
Faqat x86_64 da test qilib ko'rdik.
sudo nixos-rebuild switch --flake ~/dev/nix-config/#arava
Buyruq izohi:
sudo: Tizim sozlamalarini o'zgartirish uchun admin huquqi kerak.
--flake: Nix-ga flake ishlatayotganimizni bildiradi.
~/dev/nix-config/: Flake faylingiz joylashgan papka.
#arava: Bu flake.nix faylingiz ichidagi nixosConfigurations qismida yozilgan hostname nomingiz. (Agar u yerda boshqa nom ishlatgan bo'lsangiz, o'sha nomni yozing).
Buyruq izohi:
sudo: Tizim sozlamalarini o'zgartirish uchun admin huquqi kerak.
--flake: Nix-ga flake ishlatayotganimizni bildiradi.
~/dev/nix-config/: Flake faylingiz joylashgan papka.
#arava: Bu flake.nix faylingiz ichidagi nixosConfigurations qismida yozilgan hostname nomingiz. (Agar u yerda boshqa nom ishlatgan bo'lsangiz, o'sha nomni yozing).
👍1
Bo'sh vaqt topib shuni ishlatib ko'rish kerak ekan.
https://github.com/nvim-flutter/flutter-tools.nvim
https://github.com/nvim-flutter/flutter-tools.nvim
NixOS uchun virtualizationni yoqib koʻrdim.
https://github.com/sud0pacman/dotfiles/commit/992c6d5ff8ccfaa7ce5896b150c789434fd9b63a
Sinaldi: x86_64-linuxʼda
https://github.com/sud0pacman/dotfiles/commit/992c6d5ff8ccfaa7ce5896b150c789434fd9b63a
Sinaldi: x86_64-linuxʼda
GitHub
feat: virtualization enable for tower (work pc) · sud0pacman/dotfiles@992c6d5
Contribute to sud0pacman/dotfiles development by creating an account on GitHub.
NixOSʻda VM ishlatmoqchi boʻlsalaring quickemu zoʻr variant ekan.
1. quickemuni oʻranatasiz
Oʻrnatish uchun havola
2. kerakli distroni download qilish ham oʻzida bor ekan. Misol uchun debian 13.3.0 ni oʻnratish
3. Oʻrnab boʻlganidan keyin esa ishga tushirib yuboramiz.
quickemu --vm debian-13.3.0-gnome.conf
Tamom
1. quickemuni oʻranatasiz
Oʻrnatish uchun havola
2. kerakli distroni download qilish ham oʻzida bor ekan. Misol uchun debian 13.3.0 ni oʻnratish
quickget debian 13.3.0 gnome
3. Oʻrnab boʻlganidan keyin esa ishga tushirib yuboramiz.
quickemu --vm debian-13.3.0-gnome.conf
Tamom
👍1
NixOSʼda debug qilmoqchi boʻlsangiz loglarni yaxshiroq oʻqimoqchi boʻlsangiz komanda oxirigi
qoʻyib yuborishni maslahat beraman, --show-trace error boʻlsa chiqaradi -L loglarni chiqaradi
--show-trace -L
qoʻyib yuborishni maslahat beraman, --show-trace error boʻlsa chiqaradi -L loglarni chiqaradi
👍1
Forwarded from bahrom04
Uzinfocom Open Source jamoasi tomonidan chiqarilgan uchar messenjerini ishlatib koʻrishilarni maslahat beraman. Ishxonada shu uchar orqali muloqot qilamiz tel*gram oʻrniga.
https://play.google.com/store/apps/details?id=uz.uzinfocom.ucharmessenger&pli=1
https://apps.apple.com/uz/app/uchar/id6756061583
https://uchar.uz/
https://play.google.com/store/apps/details?id=uz.uzinfocom.ucharmessenger&pli=1
https://apps.apple.com/uz/app/uchar/id6756061583
https://uchar.uz/
bahrom04
Uzinfocom Open Source jamoasi tomonidan chiqarilgan uchar messenjerini ishlatib koʻrishilarni maslahat beraman. Ishxonada shu uchar orqali muloqot qilamiz tel*gram oʻrniga. https://play.google.com/store/apps/details?id=uz.uzinfocom.ucharmessenger&pli=1 …
Uchar linuxga ham build boʻladi nixos uchun dev shell ham yozilgan.
Asosiy branchimiz: uchar/app/latest
Asosiy branchimiz: uchar/app/latest
⚡1
Forwarded from CYBER SECURITY (Abbosxon Ahmadxoʻjayev)
Windows'dan Linux'ga nega ko'chishimiz kerak?
Mana bu yil 25-avgustda Linux 30 yoshni qarshi oladi. Manashu 30 yil davomida U Windows'ga jiddiy raqobatchi bo'lib yetishdi. Linux har joyda, Android qurilmalar, aqlli soatlar, yugurish yo'lagi ana boringki kosmik kemalarda ham. Linux Fondi ma'lumotlariga qaraganda dunyodagi har 10 ta kompyuterdan 9 tasida Linux ishlaydi. Qolgan bittasida yo Windows yoki BSD ishlaydi. Linux nafaqat gigant loyihalarda, balki oddiy kompyuterda ham ishlaydi va Windows'ga qaraganda so'ngi 5 yilda juda tez o'sayapdi. Keling endi Windows'dan Linux'ga nega ko'chib o'tish kerakligi haqida 5 ta sabab aytsam.
- Linux doimo bepul
- Linux kompyuter viruslariga chidamli. (Shaxsiy tajribamdan kelib chiqib aytaman. Hali biron marta Linux'da virus uchratganim yo'q)
- Ochiq manbaali (Linux OSning dasturiy manbaasi ochiq holatda saqlanadi va uni ushbu linkdan yuklab olishingiz mumkun)
- Linux boshqa operatsion tizimlarga qaraganda ancha tez ishlaydi
- Moslashuvchan. (Linux eski kompyuterlardan tortib, eng so'ngga super kompyuterda ham ishlayveradi)
Linux'ning O'zbekistonda ham Jamolari bor. Ularga misol qilib Xinux'ni keltirish mumkun. Ushbu hamjamiyat O'zbekistondagi rasmiy Linux hamjamiyati bo'lib Linux asosida zamonaviy o'zbek Linux operatsion tizimini ishlab chiqmoqda.
Xinux hamjamiyatiga qo'shiling: @xinuxuz
Manba: @saidbekarislonov
Mana bu yil 25-avgustda Linux 30 yoshni qarshi oladi. Manashu 30 yil davomida U Windows'ga jiddiy raqobatchi bo'lib yetishdi. Linux har joyda, Android qurilmalar, aqlli soatlar, yugurish yo'lagi ana boringki kosmik kemalarda ham. Linux Fondi ma'lumotlariga qaraganda dunyodagi har 10 ta kompyuterdan 9 tasida Linux ishlaydi. Qolgan bittasida yo Windows yoki BSD ishlaydi. Linux nafaqat gigant loyihalarda, balki oddiy kompyuterda ham ishlaydi va Windows'ga qaraganda so'ngi 5 yilda juda tez o'sayapdi. Keling endi Windows'dan Linux'ga nega ko'chib o'tish kerakligi haqida 5 ta sabab aytsam.
- Linux doimo bepul
- Linux kompyuter viruslariga chidamli. (Shaxsiy tajribamdan kelib chiqib aytaman. Hali biron marta Linux'da virus uchratganim yo'q)
- Ochiq manbaali (Linux OSning dasturiy manbaasi ochiq holatda saqlanadi va uni ushbu linkdan yuklab olishingiz mumkun)
- Linux boshqa operatsion tizimlarga qaraganda ancha tez ishlaydi
- Moslashuvchan. (Linux eski kompyuterlardan tortib, eng so'ngga super kompyuterda ham ishlayveradi)
Linux'ning O'zbekistonda ham Jamolari bor. Ularga misol qilib Xinux'ni keltirish mumkun. Ushbu hamjamiyat O'zbekistondagi rasmiy Linux hamjamiyati bo'lib Linux asosida zamonaviy o'zbek Linux operatsion tizimini ishlab chiqmoqda.
Xinux hamjamiyatiga qo'shiling: @xinuxuz
Manba: @saidbekarislonov
Telegram
Xinux
O’zbekistondagi Linux rivojlantiruvchi jamiyatiga xush kelibsiz. Ushbu jamiyat Xinux jamiyati tomonidan yuritiladi. Arch Linux va NixOS’ga e'tibor qaratiladi!
Jamiyat:
https://t.me/xinux
Vebsayt:
https://xinux.uz
Jamiyat:
https://t.me/xinux
Vebsayt:
https://xinux.uz
Forwarded from xamzaaff
YouTube
Xakerlar aslida sizni qanday tarzda topishadi?
Botlar bo'yicha ko'p gapirmadim, aybga buyurmangiz)
Video uchun e'tirozingiz bo'lsa yoki qo'shimcha fikringiz bo'lsa iltimos izohlarda bo'lishing.
- Telegram sahifamga ulanishni unutmang: https://t.me/trk_1337
- CentiSec Forumga ulanishni unutmang: htt…
Video uchun e'tirozingiz bo'lsa yoki qo'shimcha fikringiz bo'lsa iltimos izohlarda bo'lishing.
- Telegram sahifamga ulanishni unutmang: https://t.me/trk_1337
- CentiSec Forumga ulanishni unutmang: htt…
Forwarded from E'zozbek
bugun nix boyicha bilmagan narsalarimni bildm
funksiya faqat 1ta parameter qabul qilib, 1ta result qaytararkan
oldin, shuni 2ta parameter deb oylardim
bilsam bu 2ta func ekan
va bu
FP borgan sari yoqib boryapti
funksiya faqat 1ta parameter qabul qilib, 1ta result qaytararkan
oldin, shuni 2ta parameter deb oylardim
overlay = final: prev: {}bilsam bu 2ta func ekan
va bu
{} aslida type ekan, attrset{pkgs,...}: {} men buni destructurizatsiya deb oylardimFP borgan sari yoqib boryapti
Forwarded from nnolan's lab | 죽음의 노트
#nix_001
Ko'pchilik nix haqida eshitganda darhol nixos o'rnatib, operatsion tizimni almashtirish kerak deb o'ylaydi. Lekin aslo unday emas! nix-ni prosta package manager sifatida o'rnatib, loyihalaringizni izolyatsiya qilishingiz mumkin. buzilsa faqat shu project buziladi side effectlar bo'lormaydi
- ok muammo nimada?
Odatda loyihalarimizda turli versiyadagi paketlar kerak bo'ladi: nodejs 19, go 2.22, flutter 3.41 va hokazo. Biz bularni boshqarish uchun nvm, fvm, fnm yoki uv kabi o'nlab alohida instrumentlarni o'rnatamiz. Agar loyiha ko'p tilli (polyglot) bo'lsa, tizim "axlatxonaga" aylanib ketishi hech gap emas. nix-shell sizga vaqtinchalik muhit beradi
Nix-ning eng zo'r tarafi u hech narsani global darajada o'rnatmaydi. Paketlar faqat ma'lum bir terminal sessiyasi uchun "yashaydi".
— Bir martalik paketni ishlatish:
Agar sizga biror dastur faqat bir marta kerak bo'lsa, uni tizimga o'rnatib o'tirmang:
Bu buyruqdan so'ng terminalda cowsay paydo bo'ladi. Sessiyani yopsangiz (exit), paket ham yo'q bo'ladi. Tizimingiz esa doim tozacha qoladi!
— Paketni o'rnatish, ishlatish va sessiyani darhol yopish:
Agar shunchaki bitta buyruqni run qilib, sessiyani o'chirmoqchi bo'lsangiz --run flagidan foydalaning:
Bu buyruq bajariladi va terminal darhol eski holatiga qaytadi.
bundan tashqari
--pure to'liq izolyatsiya
Odatda nix-shellga kirganingizda, u sizning tizimingizdagi ba'zi muhit o'zgaruvchilarini (masalan, $PATH) o'zi bilan olib kiradi. --pure flagi tizimdagi barcha global o'zgaruvchilarni "tozalab" tashlaydi. Nima uchun kerak? Loyihangiz faqat nix ichidagi paketlarga tayanayotganiga va tashqi omillar (masalan, tizimga oldin o'rnatilgan kutubxonalar) ta'sir qilmayotganiga ishonch hosil qilish uchun.
Bu muhitda hatto ls yoki cat ham ishlamasligi mumkin (chunki ular Nix orqali berilmagan), bu haqiqiy laboratoriya sharoitini yaratadi.
--impure tizim bilan aloqani saqlash
Bu flag --purening teskarisi. U sizning joriy shell muhitingizdagi o'zgaruvchilarni nix muhiti ichiga olib kirishga ruxsat beradi.
Global PATHingiz paketlar bilan to'lib ketmaydi. Bir vaqtning o'zida bir nechta terminalda nodejs ning turli versiyalarini hech qanday konfliktlarsiz ishlatish mumkin. macos yoki ubuntu da bo'lsangiz ham, muhit bir xil ishlaydi.
nix-shell orqali paketlar bilan ishlab ko'rganingizdan so'ng, loyihalaringiz uchun shell.nix yoki flake.nix fayllarini yaratishni o'rgansangiz bo'ladi. Shunda loyiha papkasiga kirishingiz bilan barcha instrumentlar (node, postgres, redis) avtomatik tayyor turadi.
nixosga o'tish esa tizim darajasida (drayverlar, kernel, DE) to'liq nazoratni xohlovchilar uchun keyingi step.
packagelarni shu yerdan topsa buladi
search.nixos.org
@nnolan_labs
Ko'pchilik nix haqida eshitganda darhol nixos o'rnatib, operatsion tizimni almashtirish kerak deb o'ylaydi. Lekin aslo unday emas! nix-ni prosta package manager sifatida o'rnatib, loyihalaringizni izolyatsiya qilishingiz mumkin. buzilsa faqat shu project buziladi side effectlar bo'lormaydi
- ok muammo nimada?
Odatda loyihalarimizda turli versiyadagi paketlar kerak bo'ladi: nodejs 19, go 2.22, flutter 3.41 va hokazo. Biz bularni boshqarish uchun nvm, fvm, fnm yoki uv kabi o'nlab alohida instrumentlarni o'rnatamiz. Agar loyiha ko'p tilli (polyglot) bo'lsa, tizim "axlatxonaga" aylanib ketishi hech gap emas. nix-shell sizga vaqtinchalik muhit beradi
Nix-ning eng zo'r tarafi u hech narsani global darajada o'rnatmaydi. Paketlar faqat ma'lum bir terminal sessiyasi uchun "yashaydi".
— Bir martalik paketni ishlatish:
Agar sizga biror dastur faqat bir marta kerak bo'lsa, uni tizimga o'rnatib o'tirmang:
nix-shell --packages cowsay
Bu buyruqdan so'ng terminalda cowsay paydo bo'ladi. Sessiyani yopsangiz (exit), paket ham yo'q bo'ladi. Tizimingiz esa doim tozacha qoladi!
— Paketni o'rnatish, ishlatish va sessiyani darhol yopish:
Agar shunchaki bitta buyruqni run qilib, sessiyani o'chirmoqchi bo'lsangiz --run flagidan foydalaning:
nix-shell --packages cowsay --run "cowsay Nix juda zo'r!"
Bu buyruq bajariladi va terminal darhol eski holatiga qaytadi.
bundan tashqari
--pure to'liq izolyatsiya
Odatda nix-shellga kirganingizda, u sizning tizimingizdagi ba'zi muhit o'zgaruvchilarini (masalan, $PATH) o'zi bilan olib kiradi. --pure flagi tizimdagi barcha global o'zgaruvchilarni "tozalab" tashlaydi. Nima uchun kerak? Loyihangiz faqat nix ichidagi paketlarga tayanayotganiga va tashqi omillar (masalan, tizimga oldin o'rnatilgan kutubxonalar) ta'sir qilmayotganiga ishonch hosil qilish uchun.
nix-shell --packages nodejs --pure
Bu muhitda hatto ls yoki cat ham ishlamasligi mumkin (chunki ular Nix orqali berilmagan), bu haqiqiy laboratoriya sharoitini yaratadi.
--impure tizim bilan aloqani saqlash
Bu flag --purening teskarisi. U sizning joriy shell muhitingizdagi o'zgaruvchilarni nix muhiti ichiga olib kirishga ruxsat beradi.
Global PATHingiz paketlar bilan to'lib ketmaydi. Bir vaqtning o'zida bir nechta terminalda nodejs ning turli versiyalarini hech qanday konfliktlarsiz ishlatish mumkin. macos yoki ubuntu da bo'lsangiz ham, muhit bir xil ishlaydi.
nix-shell orqali paketlar bilan ishlab ko'rganingizdan so'ng, loyihalaringiz uchun shell.nix yoki flake.nix fayllarini yaratishni o'rgansangiz bo'ladi. Shunda loyiha papkasiga kirishingiz bilan barcha instrumentlar (node, postgres, redis) avtomatik tayyor turadi.
nixosga o'tish esa tizim darajasida (drayverlar, kernel, DE) to'liq nazoratni xohlovchilar uchun keyingi step.
packagelarni shu yerdan topsa buladi
search.nixos.org
@nnolan_labs
👍3🔥1👏1
Forwarded from nnolan's lab | 죽음의 노트
#nix_002
endi keyingi muammo kelib chiqadi, doim imperative yo'l bilan shell command bilan ishlanadimi degan
bunga yechim shell.nix orqali declarative config bilan control qilish, bunda imkoniyatlar ancha keng, packagelar turlari, boshqa shell larda input qilib foydalanish separate config.
let bizga variable declaration imkonini beradi, keyin uni in partda ishlata olishim uchun
huddi shu tartibda biz turli projectlar uchun shell environmentni setup qilishimiz mumkin, keyin boshqa deviceda prosta nix-shell shell.nix qivorsak tamom hamma narsa tayyor va manda ishlardi degan gap yo'qoladi )
separate qilib ishlatish. masalan front uchun alohida shell bo'lsa.
backend uchun alohida
biz buni merge qilib yuborishimiz mumkin
* .mkShellNoCC qilib ham shell create qilish mumkin, bunda C Compiler kerak bo'lmasa ishlatiladi odatda, masalan nodejs ga aloqador narsalar bo'lsa mkShellNoCC ishlatish mumkin, bu shell enviromentni tezroq setup qiladi
@nnolan_labs
endi keyingi muammo kelib chiqadi, doim imperative yo'l bilan shell command bilan ishlanadimi degan
bunga yechim shell.nix orqali declarative config bilan control qilish, bunda imkoniyatlar ancha keng, packagelar turlari, boshqa shell larda input qilib foydalanish separate config.
(import <nixpkgs> {}).mkShell {
# buildInputs: runtimeda kerak bo'ladigan narsalar
buildInputs = [
(import <nixpkgs> {}).openssl
(import <nixpkgs> {}).zlib
];
# nativeBuildInputs: compilyatsiya va build uchun
nativeBuildInputs = [
(import <nixpkgs> {}).gnumake
(import <nixpkgs> {}).gcc
];
# packages: terminalda bevosita ishlatiladigan dasturlar
packages = [
(import <nixpkgs> {}).nodejs_20
(import <nixpkgs> {}).nodePackages.pnpm
(import <nixpkgs> {}).git
(import <nixpkgs> {}).btop
];
# inputsFrom: agar boshqa paketdan meros olish kerak bo'lsa
inputsFrom = [];
# shu session uchun o'zgaruvchilar
QANAQADIR_VAR = "porjectim";
# shell ochilganda ishga tushadi, nix-shell shell.nix qilganizda shu command run bo'ladi
shellHook = ''
echo "------------------------------------------"
echo "$QANAQADIR_VAR muhiti yuklandi"
echo "nodejs: $(node -v)"
echo "pnpm: $(pnpm -v)"
echo "------------------------------------------"
'';
}import <nixpkgs> { } devicega o'rnatilgan nixpkgsni import qil degani, huddi boshqa tillardagi importlar kabi, keyin ko'ramiz, boshqa versionlar bilan ishlashni ham
buni qisqartiramiz
let
pkgs = import <nixpkgs> {};
in
pkgs.mkShell {
buildInputs = [
pkgs.openssl
pkgs.zlib
];
nativeBuildInputs = [
pkgs.gnumake
pkgs.gcc
];
packages = [
pkgs.nodejs_20
pkgs.nodePackages.pnpm
pkgs.git
pkgs.btop
];
inputsFrom = [];
QANAQADIR_VAR = "projectim";
shellHook = ''
echo "------------------------------------------"
echo "$QANAQADIR_VAR muhiti yuklandi"
echo "nodejs: $(node -v)"
echo "pnpm: $(pnpm -v)"
echo "------------------------------------------"
'';
}
let bizga variable declaration imkonini beradi, keyin uni in partda ishlata olishim uchun
huddi shu tartibda biz turli projectlar uchun shell environmentni setup qilishimiz mumkin, keyin boshqa deviceda prosta nix-shell shell.nix qivorsak tamom hamma narsa tayyor va manda ishlardi degan gap yo'qoladi )
separate qilib ishlatish. masalan front uchun alohida shell bo'lsa.
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
packages = [
pkgs.nodejs_20
pkgs.nodePackages.pnpm
pkgs.nodePackages.typescript-language-server
];
}backend uchun alohida
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
packages = [
pkgs.go
pkgs.sqlc
pkgs.golangci-lint
pkgs.postgresql
];
}biz buni merge qilib yuborishimiz mumkin
let
pkgs = import <nixpkgs> {};
# alohida shell-larni import qilib
fronend-env = import ./frontend.nix { inherit pkgs; };
backend-env = import ./backend.nix { inherit pkgs; };
in
pkgs.mkShell {
# ikkala shell ichidagi barcha paketlarni meros qilib oladi
inputsFrom = [ frontend-env backend-env ];
# natija, qayta yozish shart emas )
# bu hammasida shunday builtInputs, nativeBuildInputs, packages
# packages = [
# pkgs.go
# pkgs.sqlc
# pkgs.golangci-lint
# pkgs.postgresql
# pkgs.nodejs_20
# pkgs.nodePackages.pnpm
# pkgs.nodePackages.typescript-language-server
# ]
}
* .mkShellNoCC qilib ham shell create qilish mumkin, bunda C Compiler kerak bo'lmasa ishlatiladi odatda, masalan nodejs ga aloqador narsalar bo'lsa mkShellNoCC ishlatish mumkin, bu shell enviromentni tezroq setup qiladi
@nnolan_labs
Forwarded from Ampersand
YouTube
Я Сделал Нормальную Смену Тем в Linux WM, Чтобы Вам не Пришлось
Курс по Neovim и другие плюшки: https://boosty.to/ampersandx
Дискорд: https://discord.gg/m8HKJ7XbKn
Телега: https://t.me/+NzdBNHaBTeNjOTYy
Мой скрипт: https://github.com/Andrey0189/arch-dotfiles/blob/master/toggle-theme.sh
Дискорд: https://discord.gg/m8HKJ7XbKn
Телега: https://t.me/+NzdBNHaBTeNjOTYy
Мой скрипт: https://github.com/Andrey0189/arch-dotfiles/blob/master/toggle-theme.sh