Бананчик, похоже, не собирается перекатывать тред. Поэтому нужно брать инициативу в свои руки.Здесь мы помогаем вкатываемся в этот дистрибутив, вместе решаем проблемы и пытаемся отвечать на вопросы.Прошлый тред >>2568392 (OP) inb4:Q: Что такое NixOS?A: https://ru.wikipedia.org/wiki/NixOShttps://nixos.org/nixos/about.htmlQ: ЧаВо от разрабов.A: https://nixos.wiki/wiki/FAQQ: Зачем он нужен?A: https://habr.com/ru/post/436938/Q: Как его установить?A: https://nixos.org/nixos/manual/Q: Где искать опции для настроек?A: https://nixos.org/nixos/options.html#Q: Как управлять файлами в домашней папке?A: https://github.com/rycee/home-managerQ: Что читать дальше?A: В первую очередь стоит дочитать до конца:https://nixos.org/nixos/manual/Если возникнет желание писать Nix-выражения самостоятельно следует ознакомиться с:https://nixos.org/nixos/nix-pills/index.htmlЭтот гайд гораздо проще, сделан с поправкой на NixOS.Изучайте чужие выражения из репозитория:https://github.com/NixOS/nixpkgsНу и курите мануалы:https://nixos.org/nix/manual/
мне вот этот гайд по установке понравился https://gist.github.com/martijnvermaat/76f2e24d0239470dd71050358b4d5134, зашыфровал всё и т.п.только нужно было сделать mkfs.fat -F 32 /dev/sda1 вместо$ mkfs.fat /dev/sda1потому что создалась фат16, с которой у меня нихуя не грузилось. потом я переделал на фат32 и проебал огромное количество времени потому что забыл сделать заново nixos-generate-config, потому что при смене файловой системы поменялся uuid, а в фстабе остался старый и опять нихуя не грузилось.
>>2695753https://gist.github.com/martijnvermaat/76f2e24d0239470dd71050358b4d5134 а то запятая прицепилась
Интеграция Vim и Nix:https://nixos.wiki/wiki/VimПлагин Vim для работы с Nix-выражениями:https://github.com/LnL7/vim-nixГлава, посвященная Emacs в официальном мануале:https://nixos.org/nixos/manual/index.html#module-services-emacsПакет Emacs для запуска Nix-shell, подсветки синтаксиса и выявления ошибок:https://github.com/NixOS/nix-mode
пиздец короче. хочешь сконпелировать 30 строк на сишке+xlibе - ебись с никсосом, пиши файлик с зависимостями, какие-то никсшелы никсенвы ебать, иначе гцц библиотеки не найдет. вот нельзя просто поставить и начать пользоваться
Форумчане, рассказывайте, как у дистра с пакетами. Есть на нвидию свежие проприетарные? Аппаратное ускрорение на хром можно натянуть? mpv-git есть? Дров к принтерам много?
>>2707724Так это фича никсоса - ты должен явно описать какие зависимости использует твоя программа. Если напишешь никс билд, то любой человек, которому ты его скинешь, сможет одной коммандой скомпилировать твою поделку.>>2707815>mpv-gitА чем от обычного отличается? БТВ, никсос соурсбэйзд, можешь в одну строчку оверрайднуть пакет, чтобы никсос качал исходники мпв прямиком из мастера.Насчет всего остального хз, сижу на интеле, потому что нува параша а нвидиа еще более параша.
>>2707827mpv-git скомпилирован ср встроенным vapoursynth для фпс апскеила. По твоему ответу можно сделать вывод, что надо самому его компилить.
>>2704012Вспоминается анекдот про гентушника, который полгода писал драйвер для сетевой карты.По общим ощущениям сыро. Дистр компилит каждый коммит репозитория: пакеты разбиты не по отдельным каталогам, как в nixpkgs, а лежат в виде больших файлов, которые покрывают программы определенной категории. В общем, непонятно, зачем это делать, но понятно, что такая процедура занимает около часа, при том, что после этого придется запустить не менее медленный процесс обновления и перенастройки системы.Я думал, что причина медлительности в кему и накатил на основную машину, но разницы не почувствовал.Как сказали ребята из их IRC, причина в том, что Guile однопоточный, а многопоточность планируют запилить в третьей версии, что будет не ранее, чем в январе. Короче, ждем.Я бы в принципе смирился с долгими обновлениями: пк на работе не нужен. Но с первых часов использования попадаются ошибки, на которые невозможно найти ответы. Ни в мейллистах, ни в ирце, ни на форумах. Так что оставляю на виртуалке и слежу за развитием проекта.
>>2707724А в чем проблема? Не хочешь писать nix-shell для программулины? Зачем тебе nixos, если это вызывает сложности.Steam-run или бубунта в руки и с Богом.
>>2707815Дров хватает. Хотя hplip завелся только с нестабильной ветки. Поэтому я использую foo2zjs дрова, чтобы не брать пакеты оттуда.
>>2709043>А в чем проблемав дополнительных действиях, с которыми у меня не было времени разобраться, потому что шаблонов для тупых "зделайте так, а в эту строчку напишите ваши зависимости, а как ваши зависимости называются можете поискать здесь" я пока не нашел. точнее, возможно, нашел, но этого момента не дочитал.>Не хочешь писать nix-shell для программулиныне хочу. хочу написать когда будет готова, а не ради любого тестового пердежа в 30 строк. хотя вообще писать не хочу, это занудно.>Зачем тебе nixos, если это вызывает сложностизачем мне что-то потенциально более хорошее, новое и интересное, когда есть что-то более простое? не знаю, я таким вопросом не задавался.
Поставил ваш NixOS, но вот только проблемка, я пишу скрипты на python в vim, однако в NixOS vim скомпилирован без поддержки python, из-за чего не работает jedi-vim. Как фиксить это досадное недоразумение?
>>2709040> споминается анекдот про гентушника, который полгода писал драйвер для сетевой карты.Там ФриБСДшник был.
Кому-нибудь удалось настроить выборочное включение нвидии при запуске некоторых приложений?На убунте и последних дровах вроде завезли "prime $program" но на никсосе ничего такого нет, ноут постоянно использует нвидию вместо встройки.
>>2714240Короче, prime offloading есть в пулл реквестах. Черри-пикнул коммиты оттуда, потом еще накатил xorg 1.20.6 на свой стейбл релиз и все заверте..Надо теперь понять как я буду эту хуйню обновлять блядь
У меня есть 2 сетевухи. Одну хочу выделить ТОЛЬКО виртуалкам, а вторую - для хоста. Как это сделать? Как понимаю, виртуалкам нужен bridge. Верно? Но если сделать простоnetworking.bridges.br0.interfaces = [ "enp5s0" ];networking.interfaces.br0.useDHCP = true;То в виртуалках интернета нет.
Так-с... Вот у меня есть бинарник. Он требует любу. Какое говно мне писать, что бы просто дать доступ к этим самым либам?
>>2715572pkgs = import <unstable> {}; yourPackage = nixpkgs.buildFHSUserEnv { name = "name"; multiPkgs = pkgs: with nixpkgs; [ dependencies ]; runScript = "binaryName"; };in codium
>>2695749 (OP)А в чем смысл использовать home manager, если можно записывать конфиги в никс файл и мапить их в /etc? Можно еще activationScript написать чтобы копировал из /etc в ~ при каждом ребилде, для всяких дотфайлов.
>>2715723Доступ к содержимому проще.Когда занимаюсь perdouolingom, то порой нужно посмотреть какой цвет на фоне xmobara. Если генерировать в еtc, то нужно либо делать алиас, либо писать пару лишних символов каждый раз.Ну и сами по себе выражения различаются. Ребята, что занимаются хом манагером, прикручивают дополнительные фичи для настройки программуль, что не может порой не радовать.
>>2695749 (OP)Хочу использовать Nix Package Manager как замену флатпаку для всяких там пользовательских приложений, чтобы сторонние репы не колхозить. В связи с этим два вопроса:1) Сильный ли оверхед на хранилище? Крита во флатпаке 500 Мб жрёт.2) Есть ли какие-то механизмы изоляции запущенных приложений, как во флатпаке? Или в мире никс все всем доверяют?
Что по нестабильному каналу? Он такой же как арч в плане багов? В стабильном разочарован. Каждый второй "пакет" багнутый, в то время как в апстриме проблема уже решена. В том же дебиане это уже залатали бы.
>>2743016Да просто подключи оверлеем те 3½ пакета, которые у тебя «багнутые», делов-то. Уж где-где, а в Никсосе жаловаться на то, что пакет недостаточно православный просто грешно.
>>2727002>(OP)>Хочу использовать Nix Package Manager как замену флатпаку для всяких там пользовательских приложений, чтобы сторонние репы не колхозить. В связи с этим два вопроса:>1) Сильный ли оверхед на хранилище? Крита во флатпаке 500 Мб жрёт.Примерно такой же или лучше (если точно так же собранная точно такая же библиотека используется в другом приложении, она на диске будет записана один раз).>2) Есть ли какие-то механизмы изоляции запущенных приложений, как во флатпаке? Или в мире никс все всем доверяют?Мухи отдельно, котлеты отдельно. Но вообще, изоляция есть, через обычные CGroups.
>>2695749 (OP)Я короче вкатываюсь в вашу снежинку. Пока вроде норм, фунциклирует.Меня один вопрос сейчас беспокоит. Вот я прописал в конфиге десяток апов: от htop/mc до discord/vscode/steam. И я вижу, что менеджер качает пакеты совершенно из разных хранилищ. А в случае со стимом даже конпелял чего-то минут двадцать, видимо из-за мультилибности. На фоне дебиана, где "скачал архив с репы, проверил подпись, распаковал по правилам" это немного напрягает. Как вообще работают цепочки доверия? Где защита от того, что какой-нибудь из этих файлопомоек внезапно не подменят?Алсо никосос предлагает какие-нибудь механизмы изоляции недоверенных аппов, как флатпак какой-нибудь?
>>2758075Никсос - souce based дистр. Каждый пакет собирается благодаря никс билду, который собирает одинаковый пакет на абсолютно разных компах. Благодаря этому, работает бинарный кеш - клиент отправляет хеш от никс билда на cache.nixos.org, если сервер находит готовый билд, то ты его просто скачиваешь.> А в случае со стимом даже конпелял чего-то минут двадцать, видимо из-за мультилибностиХз почему, но для стима не сделали бинарный кеш. Мб его просто для проприетарщины не делают.>Как вообще работают цепочки доверия? Где защита от того, что какой-нибудь из этих файлопомоек внезапно не подменят?Банальная проверка хеш суммы в никсбилде.
>>2758372О, спасибо за инфу.А есть ещё способ зафиксировать версию пакета в конфиге?То есть я собрал рабочую среду, и хочу её растиражировать, гарантированно, чтобы бит в бит был. Или просто надо работать с фиксированным стабильным каналом?
>>2758372>Никсос - souce based дистр. Каждый пакет собирается благодаря никс билду, который собирает одинаковый пакет на абсолютно разных компах. Благодаря этому, работает бинарный кешА в Guix с этим как?
Анон, помоги.При установке пилил диск как в мануале. Сначала рут (с отступом для бут (512мб)), свап, потом бут (в начало диска), в конце и до конца всех блоков ебанул, собсна, хоум.В итоге: что ты думаешь? - он ебанул хоум в самый корень (рут), а мой огромный хоум монтирует только из-под судо, но все домашние каталоги все равно на маленьком корешочке.Я все лейблы ставил fdisk'ом (efi, linux filesystem, swap, HOME SYKA LINUX), ставил все лейблы при форматировании (кстати, хомяк у меня ext4, если важно).КАКОГО ХУЯ? ОН КТО ТАКОЙ ЧТОБЫ ТАК ДЕЛАТЬ?
Как лучше разметить диск? У меня cfdisk не получается. Есть еще варианты?И когда я сделаю свой конфиг, как его закинуть на гитхаб, ну даже как закинуть я знаю. Как мне его синкнуть как дотфайлы, или каждый раз ручками сохранять?И когда я буду переустанавливать или на новый ноут, как мне этот файл вытянуть с гита?
>>2695749 (OP)> Q: Как управлять файлами в домашней папке?А сборщика мусора не хватит, что именно делает прога?И поясните пожалуйста за конструкциюletinНе ясно за что этот flow отвечает, не могу понять, это что, условие, цикл, итерацие, вхождение, множество. Как прочитать это?
>>2695749 (OP)Вкотился я как-то в ваш никсос, а потом выкатился. Плюсы:+ Всегда можно откатить полную систему, как будто ничего и не было (кроме папки home, конечно)+ Софтины устанавливаются и САМОнастраиваются одной строчкой в ЕДМинусы:- Долгая загрузка- Если надо что-то настроить, а в ЕД подобной функциональности нет (ЕД позволяет настраивать только основные опции), то вместо правки файлика в etc, начнется атомная ёбля с билдами, ЕД положит огромный хуй на твои правки, он сам знает как надо. Проблема решается, но когда всякой хуйни надо настроить много, а еще и протестировать и откатиться, если надо, то это хтонический пиздец
>>2758428>>То есть я собрал рабочую среду, и хочу её растиражировать, гарантированно, чтобы бит в бит был. Банально не обновляй канал. Если хочешь перенести среду один в один на другой комп, то посмотри как экспортировать импортировать каналы но мне кажется, достаточно просто использовать stable канал и не паритьсяНу или сделай оверрайд пакета с нужной тебе версией правда, зависимости в таком случае будут обновлятся. >>2758474Так само, гуикс это просто бинды к никс языку на лиспе и дистрибутив поверх них.
>>2758634Перепиши в hardware configuration.nix отакую фигню ручками для своей разметки. Эта штука просто генерирует fstab.
>>2758634Я разобрался. Надо было тупа ручками сделать mount ..../home /mnt/home. Не надо было браться за это ночью, тупой немного.
Как при установке nixos-install сказать ему чтобы он собирался не в оперативке коей всего 1Гиг, а в свапе хотя бы, где 8гигов, иначе нихуя не билдится
>>2758825В смысле всё обрезал? Перед установкой делаешь swapon /dev/sdХуй знает какой там у тебя раздел, и ты больше не испытываешь недостатка ОЗУ.
>>2758829Лол, ну так я и делаю, все равно проблемы, lsblk говорит что есть loop0 Собирает он хз где. Я все делаю по рукокниге никсоса.
Не хочет ставится никсос никакnixos-install building the configuration in /mnt/etc/nixos/configuration.nix...waiting for locks or build slots...builder for '/nix/store/zbcrrf87idbp2r3cpkigaylkvay1aga0-cpupower-4.19.113.drv' failed with exit code 1; last 10 log lines: tar: linux-4.19.113/virt/kvm/eventfd.c: Cannot write: No space left on device tar: linux-4.19.113/virt/kvm/irqchip.c: Cannot write: No space left on device tar: linux-4.19.113/virt/kvm/kvm_main.c: Cannot write: No space left on device tar: linux-4.19.113/virt/kvm/vfio.c: Cannot write: No space left on device tar: linux-4.19.113/virt/kvm/vfio.h: Cannot write: No space left on device tar: linux-4.19.113/virt/lib/Kconfig: Cannot write: No space left on device tar: linux-4.19.113/virt/lib/Makefile: Cannot write: No space left on device tar: linux-4.19.113/virt/lib/irqbypass.c: Cannot write: No space left on device tar: Exiting with failure status due to previous errors do not know how to unpack source archive /nix/store/rj2hahfy3nfp35zv8lwmlr3j7rr6rrrx-linux-4.19.113.tar.xznote: build failure may have been caused by lack of free disk spacecannot build derivation '/nix/store/9jyl13856h4v7m78mgxqabjvs8zw1qnc-system-path.drv': 1 dependencies couldn't be builtcannot build derivation '/nix/store/2lgsr3w1hikksg7q7bik36amb2iaazk8-unit-cpufreq.service.drv': 1 dependencies couldn't be builtcannot build derivation '/nix/store/m9644jn5265hsc93hnvc3y70ckmz2vjx-nixos-system-nixos-19.09.2342.c7363c2b97e.drv': 1 dependencies couldn't be built[11 built (1 failed), 653 copied (2528.3 MiB), 354.9 MiB DL]error: build of '/nix/store/m9644jn5265hsc93hnvc3y70ckmz2vjx-nixos-system-nixos-19.09.2342.c7363c2b97e.drv' failedlsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTloop0 7:0 0 494.1M 1 loop /nix/.ro-storesda 8:0 0 298.1G 0 disk sda1 8:1 0 290.1G 0 part /mntsda2 8:2 0 8G 0 part [SWAP]sdb 8:16 1 7.6G 0 disk sdb1 8:17 1 533M 0 part /isosdb2 8:18 1 19M 0 partmountdevtmpfs on /dev type devtmpfs (rw,nosuid,size=89460k,nr_inodes=192890,mode=755)devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=3,mode=620,ptmxmode=666)tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)tmpfs on /run type tmpfs (rw,nosuid,nodev,size=447284k,mode=755)ramfs on /run/keys type ramfs (rw,nosuid,nodev,relatime,mode=750)tmpfs on /run/wrappers type tmpfs (rw,nodev,relatime)sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)tmpfs on / type tmpfs (rw,relatime,mode=755)/dev/sdb1 on /iso type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)/iso/nix-store.squashfs on /nix/.ro-store type squashfs (ro,relatime)tmpfs on /nix/.rw-store type tmpfs (rw,relatime,mode=755)unionfs on /nix/store type fuse.unionfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other)unionfs on /nix/store type fuse.unionfs (ro,relatime,user_id=0,group_id=0,default_permissions,allow_other)securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=178912k,mode=700,uid=1000,gid=100)tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=178912k,mode=700)/dev/sda1 on /mnt type ext4 (rw,relatime)free -h total used free shared buff/cache availableMem: 1.7Gi 105Mi 1.2Gi 15Mi 408Mi 1.4GiSwap: 8.0Gi 19Mi 8.0Gidf -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 88M 0 88M 0% /devtmpfs 874M 0 874M 0% /dev/shmtmpfs 437M 5.2M 432M 2% /runtmpfs 874M 300K 874M 1% /run/wrapperstmpfs 874M 25M 849M 3% //dev/root 533M 533M 0 100% /iso/dev/loop0 495M 495M 0 100% /nix/.ro-storetmpfs 874M 8.0K 874M 1% /nix/.rw-storeunionfs 1.4G 496M 874M 37% /nix/storetmpfs 874M 0 874M 0% /sys/fs/cgrouptmpfs 175M 0 175M 0% /run/user/1000tmpfs 175M 0 175M 0% /run/user/0/dev/sda1 285G 3.0G 268G 2% /mnt
>>2761850А в чем плюсы? Если юзал напиши в чем преимущество пожалуйста, я тогда тоже накачу. Ясно что с конфигом удобно, а какой толко от конфига в хоуме?